From 1e51d0e9e238e1e6e073cab2060777038e1acfa1 Mon Sep 17 00:00:00 2001 From: Enno Rehling <enno@eressea.de> Date: Thu, 12 Apr 2001 17:21:57 +0000 Subject: [PATCH] =?UTF-8?q?-=20Neue=20Messages=20fertig=20=20=20Messages?= =?UTF-8?q?=20werden=20jetzt=20in=20einem=20anderen=20Meta-Format=20(messa?= =?UTF-8?q?ge*=20of=20=20=20message=5Ftype*)=20gespeichert,=20das=20man=20?= =?UTF-8?q?in=20beliebige=20Formate=20(CR=20oder=20NR)=20=20=20rendern=20k?= =?UTF-8?q?ann.=20crmessage.c=20und=20nrmessage.c=20sind=20die=20render-en?= =?UTF-8?q?gines=20daf=C3=BCr.=20=20=20Die=20Messagetypen=20werden=20in=20?= =?UTF-8?q?res/{de,en}/messages.xml=20gesammelt,=20ultimativ=20=20=20kann?= =?UTF-8?q?=20das=20aber=20durchaus=20eine=20einzelne=20Datei=20sein.=20Di?= =?UTF-8?q?e=20ist=20derzeit=20nicht=20=20=20wirklich=20xml=20(Umlaute=20d?= =?UTF-8?q?rin,=20keine=20Definitionsdatei),=20aber=20gut=20lesbar.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - make_message Diese Funktion ersetzt new_message, und ist etwas einfacher in der Syntax: make_message("dumb_mistake", "unit region command", u, r, cmd) erzeugt eine neue Nachricht, die dann einfach mit add_message wie bisher an die Nachrichtenliste gehängt werden kann. TODO: Messages könnte man durchaus reference-counten, und in mehrere Listen einfügen, solang sie a) mehrfachverwendet (Kampf!) und b) vom Betrachter unabhängig sind. Das spart einigen Speicher. - CR Version erhöht. Weil die MESSAGETYPES Blocks anders sind als früher - OFFENSIVE_DELAY Verbietet Einheiten, deren Partei eine Reigon niht bewachen, den Angriff in der Region, wenn sie sich in der Runde zuvor bewegt haben. Status der letzten Runde wird in neuem Attribut at_moved gespeichert. - SHORT_ATTACKS ein define, das angibt ob Kämpfen grundsätzlich keine lange Aktion ist. - XML Parser xml.[hc] enthält einen XML-Parser, dem man ein plugin mit callbacks übergibt, die nach dem Parsen eines tokens aufgerufen werden. --- src/Makefile.include | 4 +- src/common/attributes/attributes.c | 19 +- src/common/attributes/key.c | 10 +- src/common/attributes/key.h | 3 +- src/common/attributes/moved.c | 62 + src/common/attributes/moved.h | 23 + src/common/attributes/racename.c | 58 + src/common/attributes/racename.h | 22 + src/common/gamecode/creport.c | 351 +- src/common/gamecode/creport.h | 4 + src/common/gamecode/economy.c | 89 +- src/common/gamecode/laws.c | 37 +- src/common/gamecode/monster.c | 79 + src/common/gamecode/randenc.c | 20 +- src/common/gamecode/report.c | 132 +- src/common/gamecode/spy.c | 26 +- src/common/gamecode/study.c | 199 +- src/common/items/lmsreward.c | 1 - src/common/items/weapons.c | 12 +- src/common/kernel/battle.c | 55 +- src/common/kernel/border.c | 4 +- src/common/kernel/building.c | 5 +- src/common/kernel/eressea.c | 33 +- src/common/kernel/eressea.h | 27 +- src/common/kernel/faction.c | 4 +- src/common/kernel/faction.h | 3 +- src/common/kernel/karma.c | 10 + src/common/kernel/karma.h | 1 + src/common/kernel/message.c | 510 +-- src/common/kernel/message.h | 56 +- src/common/kernel/movement.c | 131 +- src/common/kernel/movement.h | 13 +- src/common/kernel/plane.h | 28 +- src/common/kernel/race.c | 10 +- src/common/kernel/race.h | 5 +- src/common/kernel/region.c | 6 +- src/common/kernel/region.h | 4 +- src/common/kernel/reports.c | 17 +- src/common/kernel/save.c | 2 +- src/common/kernel/ship.c | 4 +- src/common/kernel/ship.h | 4 +- src/common/kernel/unit.c | 11 +- src/common/modules/arena.c | 6 +- src/common/modules/gmcmd.c | 44 +- src/common/modules/xmas2000.c | 4 +- src/common/spells/alp.c | 82 +- src/common/spells/alp.h | 7 +- src/common/triggers/changerace.c | 4 +- src/common/triggers/createcurse.c | 4 +- src/common/triggers/createunit.c | 4 +- src/common/triggers/giveitem.c | 4 +- src/common/triggers/killunit.c | 4 +- src/common/triggers/removecurse.c | 6 +- src/common/triggers/shock.c | 4 +- src/common/triggers/unitmessage.c | 6 +- src/common/util/attrib.c | 6 +- src/common/util/base36.c | 6 +- src/common/util/crmessage.c | 48 +- src/common/util/crmessage.h | 11 +- src/common/util/goodies.c | 28 +- src/common/util/goodies.h | 6 +- src/common/util/language.c | 9 +- src/common/util/log.c | 13 + src/common/util/message.c | 8 +- src/common/util/message.h | 2 + src/common/util/nrmessage.c | 31 +- src/common/util/nrmessage.h | 8 +- src/common/util/translation.c | 119 +- src/common/util/translation.h | 18 +- src/common/util/xml.c | 42 +- src/common/util/xml.h | 13 +- src/config.h | 4 +- src/eressea/attributes.c | 27 +- src/eressea/korrektur.c | 135 +- src/eressea/main.c | 14 +- src/res/de/messages.xml | 5775 +++++++++++++++++----------- src/res/de/strings.txt | 4 +- src/res/en/messages.xml | 4417 +++++++++++++++++++++ src/res/en/strings.txt | 45 + src/tools/atoi36.c | 9 + src/tools/msg2xml.c | 18 +- src/tools/translator.c | 18 +- src/tools/xmltest.c | 2 +- 83 files changed, 9483 insertions(+), 3626 deletions(-) create mode 100644 src/common/attributes/moved.c create mode 100644 src/common/attributes/moved.h create mode 100644 src/common/attributes/racename.c create mode 100644 src/common/attributes/racename.h create mode 100644 src/res/en/messages.xml create mode 100644 src/tools/atoi36.c diff --git a/src/Makefile.include b/src/Makefile.include index 18598c2f5..62592f0bf 100644 --- a/src/Makefile.include +++ b/src/Makefile.include @@ -111,7 +111,7 @@ ifeq (.depend,$(wildcard .depend)) include .depend endif # Create dependencies -.depend depend:: $(SOURCES) +depend:: $(SOURCES) @echo "Creating dependencies in `pwd`/.depend"; $(DEPEND) $(CFLAGS) $(DEFINES) $(INCDIRS) $(SOURCES) >| .depend endif @@ -175,7 +175,7 @@ $(BUILD_DIR) $(PUBLISH_DIR): # object files: $(BUILD_DIR)/%:: $(BUILD_DIR) -$(BUILD_DIR)/%.o:: %.c .depend +$(BUILD_DIR)/%.o:: %.c @echo $(MSG_COMPILE) $(CC) $(CFLAGS) -o $@ -c $< @echo diff --git a/src/common/attributes/attributes.c b/src/common/attributes/attributes.c index 65701b3d8..53158d47b 100644 --- a/src/common/attributes/attributes.c +++ b/src/common/attributes/attributes.c @@ -1,6 +1,5 @@ /* vi: set ts=2: * - * $Id: attributes.c,v 1.10 2001/02/28 22:14:56 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -26,9 +25,13 @@ #include "iceberg.h" #include "hate.h" #include "overrideroads.h" +#include "racename.h" #ifdef AT_OPTION # include "option.h" #endif +#ifdef AT_MOVED +# include "moved.h" +#endif /* util includes */ #include <attrib.h> @@ -40,24 +43,20 @@ void init_attributes(void) { - /* at_register(&at_orcification); */ at_register(&at_overrideroads); - /* at_iceberg */ + init_iceberg(); - /* at_key */ init_key(); - /* at_gm */ init_gm(); - /* at_follow */ init_follow(); - /* at_targetregion */ init_targetregion(); - /* at_orcification */ init_orcification(); - /* at_hate */ init_hate(); - /* at_reduceproduction */ init_reduceproduction(); + init_racename(); +#ifdef AT_MOVED + init_moved(); +#endif #ifdef AT_OPTION init_option(); #endif diff --git a/src/common/attributes/key.c b/src/common/attributes/key.c index ef74f686d..08653aacc 100644 --- a/src/common/attributes/key.c +++ b/src/common/attributes/key.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: key.c,v 1.2 2001/01/26 16:19:39 enno Exp $ + * $Id: key.c,v 1.3 2001/04/12 17:21:41 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -34,6 +34,14 @@ make_key(int key) return a; } +attrib * +find_key(attrib * alist, int key) +{ + attrib * a = a_find(alist, &at_key); + while (a && a->data.i != key) a = a->nexttype; + return a; +} + void init_key(void) { diff --git a/src/common/attributes/key.h b/src/common/attributes/key.h index 966041cc6..d977c5d2a 100644 --- a/src/common/attributes/key.h +++ b/src/common/attributes/key.h @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: key.h,v 1.2 2001/01/26 16:19:39 enno Exp $ + * $Id: key.h,v 1.3 2001/04/12 17:21:41 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -15,4 +15,5 @@ extern struct attrib_type at_key; extern struct attrib * make_key(int key); +extern struct attrib * find_key(struct attrib * alist, int key); extern void init_key(void); diff --git a/src/common/attributes/moved.c b/src/common/attributes/moved.c new file mode 100644 index 000000000..b30c369b1 --- /dev/null +++ b/src/common/attributes/moved.c @@ -0,0 +1,62 @@ +/* vi: set ts=2: + * + * $Id: moved.c,v 1.1 2001/04/12 17:21:41 enno Exp $ + * Eressea PB(E)M host Copyright (C) 1998-2000 + * Christian Schlittchen (corwin@amber.kn-bremen.de) + * Katja Zedel (katze@felidae.kn-bremen.de) + * Henning Peters (faroul@beyond.kn-bremen.de) + * Enno Rehling (enno@eressea-pbem.de) + * Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de) + * + * This program may not be used, modified or distributed without + * prior permission by the authors of Eressea. + */ + +#include <config.h> +#include <eressea.h> +#include "moved.h" + +#include <attrib.h> + +static int +age_moved(attrib * a) +{ + return a->data.i-- > 0; +} + +static void +write_moved(const attrib * a, FILE * F) +{ + fprintf(F, "%d", a->data.i); +} + +static int +read_moved(attrib * a, FILE * F) +{ + fscanf(F, "%d", &a->data.i); + return a->data.i!=0; +} + +attrib_type at_moved = { + "moved", NULL, NULL, age_moved, write_moved, read_moved +}; + +boolean +get_moved(attrib ** alist) +{ + return a_find(*alist, &at_moved) ? true : false; +} + +void +set_moved(attrib ** alist) +{ + attrib * a = a_find(*alist, &at_moved); + if (a==NULL) a = a_add(alist, a_new(&at_moved)); + a->data.i = 1; +} + +void +init_moved(void) +{ + at_register(&at_moved); +} diff --git a/src/common/attributes/moved.h b/src/common/attributes/moved.h new file mode 100644 index 000000000..efdd53848 --- /dev/null +++ b/src/common/attributes/moved.h @@ -0,0 +1,23 @@ +/* vi: set ts=2: + * + * $Id: moved.h,v 1.1 2001/04/12 17:21:41 enno Exp $ + * Eressea PB(E)M host Copyright (C) 1998-2000 + * Christian Schlittchen (corwin@amber.kn-bremen.de) + * Katja Zedel (katze@felidae.kn-bremen.de) + * Henning Peters (faroul@beyond.kn-bremen.de) + * Enno Rehling (enno@eressea-pbem.de) + * Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de) + * + * This program may not be used, modified or distributed without + * prior permission by the authors of Eressea. + */ + +struct attrib; +struct attrib_type; + +extern boolean get_moved(attrib ** alist); +extern void set_moved(struct attrib ** alist); +extern void init_moved(void); + +extern struct attrib_type at_moved; + diff --git a/src/common/attributes/racename.c b/src/common/attributes/racename.c new file mode 100644 index 000000000..a389788b5 --- /dev/null +++ b/src/common/attributes/racename.c @@ -0,0 +1,58 @@ +/* vi: set ts=2: + * + * $Id: racename.c,v 1.2 2001/04/12 17:21:41 enno Exp $ + * Eressea PB(E)M host Copyright (C) 1998-2000 + * Christian Schlittchen (corwin@amber.kn-bremen.de) + * Katja Zedel (katze@felidae.kn-bremen.de) + * Henning Peters (faroul@beyond.kn-bremen.de) + * Enno Rehling (enno@eressea-pbem.de) + * Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de) + * + * This program may not be used, modified or distributed without + * prior permission by the authors of Eressea. + */ + +#include <config.h> +#include <eressea.h> +#include "racename.h" + +#include <attrib.h> + +/* libc includes */ +#include <stdlib.h> +#include <string.h> + +attrib_type at_racename = { + "racename", NULL, a_finalizestring, NULL, a_writestring, a_readstring +}; + +const char * +get_racename(attrib * alist) +{ + attrib * a = a_find(alist, &at_racename); + if (a) return (const char *)a->data.v; + return NULL; +} + +void +set_racename(attrib ** palist, const char * name) +{ + attrib * a = a_find(*palist, &at_racename); + if (!a && name) { + a = a_add(palist, a_new(&at_racename)); + a->data.v = strdup(name); + } else if (a && !name) { + a_remove(palist, a); + } else if (a) { + if (strcmp(a->data.v, name)!=0) { + free(a->data.v); + a->data.v = strdup(name); + } + } +} + +void +init_racename(void) +{ + at_register(&at_racename); +} diff --git a/src/common/attributes/racename.h b/src/common/attributes/racename.h new file mode 100644 index 000000000..b733e2c53 --- /dev/null +++ b/src/common/attributes/racename.h @@ -0,0 +1,22 @@ +/* vi: set ts=2: + * + * $Id: racename.h,v 1.2 2001/04/12 17:21:41 enno Exp $ + * Eressea PB(E)M host Copyright (C) 1998-2000 + * Christian Schlittchen (corwin@amber.kn-bremen.de) + * Katja Zedel (katze@felidae.kn-bremen.de) + * Henning Peters (faroul@beyond.kn-bremen.de) + * Enno Rehling (enno@eressea-pbem.de) + * Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de) + * + * This program may not be used, modified or distributed without + * prior permission by the authors of Eressea. + */ + +struct attrib_type; +struct attrib; + +extern void set_racename(struct attrib ** palist, const char * name); +extern const char * get_racename(struct attrib * alist); +extern void init_racename(void); + +extern struct attrib_type at_racename; diff --git a/src/common/gamecode/creport.c b/src/common/gamecode/creport.c index c4eade093..1367d7cad 100644 --- a/src/common/gamecode/creport.c +++ b/src/common/gamecode/creport.c @@ -7,26 +7,24 @@ * Enno Rehling (enno@eressea-pbem.de) * Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de) * - * based on: - * - * Atlantis v1.0 13 September 1993 Copyright 1993 by Russell Wallace - * Atlantis v1.7 Copyright 1996 by Alex Schr�der - * * This program may not be used, modified or distributed without * prior permission by the authors of Eressea. - * This program may not be sold or used commercially without prior written - * permission from the authors. */ #include <config.h> #include <eressea.h> #include "creport.h" +/* tweakable features */ +#define ENCODE_SPECIAL 1 +#define RENDER_CRMESSAGES 1 + /* modules include */ #include <modules/score.h> /* attributes include */ #include <attributes/follow.h> +#include <attributes/racename.h> /* gamecode includes */ #include "laws.h" @@ -46,7 +44,6 @@ #include <plane.h> #include <race.h> #include <region.h> -#include <render.h> #include <reports.h> #include <ship.h> #include <skill.h> @@ -55,10 +52,11 @@ #include <save.h> /* util includes */ +#include <util/message.h> #include <goodies.h> -#ifdef NEW_MESSAGES #include <crmessage.h> -#endif +#include <nrmessage.h> + /* libc includes */ #include <math.h> #include <stdio.h> @@ -66,15 +64,15 @@ #include <stdlib.h> #include <string.h> -#define C_REPORT_VERSION 56 -#define NEWBLOCKS (C_REPORT_VERSION>=35) - -#define ENCODE_SPECIAL 1 - +/* imports */ extern const char *directions[]; extern const char *spelldata[]; extern int quiet; +/* globals */ +#define C_REPORT_VERSION 57 + +/* implementation */ void cr_output_str_list(FILE * F, const char *title, const strlist * S, faction * f) { @@ -124,181 +122,174 @@ print_curses(FILE * F, void * obj, typ_t typ, attrib *a, int self) } } -#ifdef OLD_MESSAGES -#define CTMAXHASH 511 -struct crtype { - struct crtype * nexthash; - struct message_type * mt; -} * crtypes[CTMAXHASH]; +static int +cr_unit(const void * v, char * buffer, const void * userdata) +{ + const faction * report = (const faction*)userdata; + unit * u = (unit *)v; + sprintf(buffer, "%d", u?u->no:-1); + unused(report); + return 0; +} -static struct crtype * free_crtypes; -#endif +static int +cr_ship(const void * v, char * buffer, const void * userdata) +{ + const faction * report = (const faction*)userdata; + ship * u = (ship *)v; + sprintf(buffer, "%d", u?u->no:-1); + unused(report); + return 0; +} + +static int +cr_building(const void * v, char * buffer, const void * userdata) +{ + const faction * report = (const faction*)userdata; + building * u = (building *)v; + sprintf(buffer, "%d", u?u->no:-1); + unused(report); + return 0; +} + +static int +cr_faction(const void * v, char * buffer, const void * userdata) +{ + const faction * report = (const faction*)userdata; + faction * f = (faction *)v; + sprintf(buffer, "%d", f?f->no:-1); + unused(report); + return 0; +} + +static int +cr_region(const void * v, char * buffer, const void * userdata) +{ + const faction * report = (const faction*)userdata; + region * r = (region *)v; + if (r) { + plane * p = rplane(r); + if (!p || !(p->flags & PFL_NOCOORDS)) { + sprintf(buffer, "%d %d %d", region_x(r, report), region_y(r, report), p?p->id:0); + return 0; + } + } + return -1; +} + +static int +cr_resource(const void * v, char * buffer, const void * userdata) +{ + const faction * report = (const faction*)userdata; + const resource_type * r = (const resource_type *)v; + if (r) { + sprintf(buffer, "\"%s\"", locale_string(report->locale, resourcename(r, 0))); + return 0; + } + return -1; +} + +static int +cr_skill(const void * v, char * buffer, const void * userdata) +{ + const faction * report = (const faction*)userdata; + skill_t sk = (skill_t)v; + if (sk!=NOSKILL) sprintf(buffer, "\"%s\"", locale_string(report->locale, skillnames[sk])); + else strcpy(buffer, "\"\""); + return 0; +} + +void +creport_init(void) +{ + tsf_register("report", &cr_ignore); + tsf_register("string", &cr_string); + tsf_register("int", &cr_int); + tsf_register("unit", &cr_unit); + tsf_register("region", &cr_region); + tsf_register("faction", &cr_faction); + tsf_register("ship", &cr_ship); + tsf_register("building", &cr_building); + tsf_register("skill", &cr_skill); + tsf_register("resource", &cr_resource); +} void creport_cleanup(void) { -#ifdef OLD_MESSAGES - while (free_crtypes) { - struct crtype * ct = free_crtypes->nexthash; - free_crtypes = ct; - } -#endif } -#ifdef OLD_MESSAGES +static int msgno; + +#define MTMAXHASH 1023 + +static struct known_mtype { + const struct message_type * mtype; + struct known_mtype * nexthash; +} * mtypehash[MTMAXHASH]; + static void -render_message(FILE * f, faction * receiver, struct message * m) +report_crtypes(FILE * F, const struct locale* lang) { int i; - struct message_type * mt = m->type; - struct entry * e = mt->entries; - - if (m->receiver && receiver!=m->receiver) return; - if (m->receiver && get_msglevel(receiver->warnings, receiver->msglevels, m->type) < msg_level(m)) - return; - fprintf(f, "MESSAGE %u\n", receiver->index++); - fprintf(f, "%u;type\n", mt->hashkey); - if (receiver->options & want(O_DEBUG)) { - fprintf(f, "%d;level\n", mt->level); - } -#define RENDER_CR -#ifdef RENDER_CR - fprintf(f, "\"%s\";rendered\n", render(m, receiver->locale)); -#endif - for (i=0;i!=mt->argc;++i) { - switch (e->type) { - case IT_RESOURCE: - fprintf(f, "\"%s\";%s\n", resname((resource_t)m->data[i], 0), e->name); - break; - case IT_RESOURCETYPE: - fprintf(f, "\"%s\";%s\n", locale_string(receiver->locale, resourcename((const resource_type *)m->data[i], 1)), e->name); - break; - case IT_STRING: - fprintf(f, "\"%s\";%s\n", (char*)m->data[i], e->name); - break; - case IT_BUILDING: { - building * b = (building*)m->data[i]; - fprintf(f, "%d;%s\n", b->no, e->name); - break; - } - case IT_SHIP: { - ship * s = (ship*)m->data[i]; - fprintf(f, "%d;%s\n", s->no, e->name); - break; - } - case IT_UNIT: { - unit * u = (unit*)m->data[i]; - /* TODO: Wilder Hack */ - if ((int)u > 1) fprintf(f, "%d;%s\n", u->no, e->name); - break; - } - case IT_SKILL: { - skill_t sk = (skill_t)m->data[i]; - assert(sk!=NOSKILL && sk<MAXSKILLS); - fprintf(f, "\"%s\";%s\n", skillnames[sk], e->name); - break; - } - case IT_FACTION: { - faction * x = (faction*)m->data[i]; - fprintf(f, "%d;%s\n", x->no, e->name); - break; - } - case IT_REGION: { - region * r = (region*)m->data[i]; - if (!r) break; - fprintf(f, "\"%d,%d\";%s\n", region_x(r, receiver), region_y(r, receiver), e->name); - break; - } - default: - fprintf(f, "%d;%s\n", (int)m->data[i], e->name); - break; - } - e = e->next; - } -} - -static void -render_messages(FILE * f, void * receiver, struct message * msgs) -{ - message * m; - for (m=msgs;m;m=m->next) { - render_message(f, receiver, m); - } -} - -static void -cr_output_messages(FILE * F, struct message * msgs, faction * f) -{ - message * m; - if (!msgs) return; -/* fprintf(F, "%s\n", title); */ - for (m=msgs;m;m=m->next) { - static messagetype * last = NULL; - messagetype * mt = m->type; -#ifdef MSG_LEVELS - if (get_msglevel(f->warnings, f->msglevels, mt) < m->level) continue; -#endif - if (mt!=last && (!m->receiver || f==m->receiver)) { - unsigned int index = mt->hashkey % CTMAXHASH; - struct crtype * ct = crtypes[index]; - last = mt; - while (ct && ct->mt->hashkey!=mt->hashkey) ct=ct->nexthash; - if (!ct) { - if (free_crtypes) { - ct = free_crtypes; - free_crtypes = free_crtypes->nexthash; - } else { - ct = calloc(1, sizeof(struct crtype)); - } - ct->mt = mt; - ct->nexthash = crtypes[index]; - crtypes[index] = ct; + fputs("MESSAGETYPES\n", F); + for (i=0;i!=MTMAXHASH;++i) { + struct known_mtype * kmt; + for (kmt=mtypehash[i];kmt;kmt=kmt->nexthash) { + const struct nrmessage_type * nrt = nrt_find(lang, kmt->mtype); + if (nrt) { + unsigned int hash = hashstring(mt_name(kmt->mtype)); + fputc('\"', F); + fputs(escape_string(nrt_string(nrt), NULL, 0), F); + fprintf(F, "\";%d\n", hash); } } - } - render_messages(F, f, msgs); -} - -extern void rendercr(FILE * f, struct messagetype * mt, const locale * lang); - -static void -report_crtypes(FILE * f, locale * lang) -{ - int i; - fputs("MESSAGETYPES\n", f); - for (i=0;i!=CTMAXHASH;++i) { - struct crtype * ct; - for (ct=crtypes[i];ct;ct=ct->nexthash) { - rendercr(f, ct->mt, lang); + while (mtypehash[i]) { + kmt = mtypehash[i]; + mtypehash[i] = mtypehash[i]->nexthash; + free(kmt); } } } -static void -reset_crtypes(void) -{ - int i; - for (i=0;i!=CTMAXHASH;++i) { - struct crtype * ct; - struct crtype * next; - for (ct=crtypes[i];ct;ct=next) { - next = ct->nexthash; - ct->nexthash=free_crtypes; - free_crtypes=ct; - } - crtypes[i] = NULL; - } -} - -#else static void render_messages(FILE * F, faction * f, message_list *msgs) { - char buffer[1024]; struct mlist* m = msgs->begin; while (m) { - if (cr_render(m->msg, f->locale, buffer)==0) fputs(buffer, F); + char crbuffer[1024]; + boolean printed = false; + const struct message_type * mtype = m->msg->type; + unsigned int hash = hashstring(mtype->name); +#if RENDER_CRMESSAGES + char nrbuffer[4096]; + nrbuffer[0] = '\0'; + if (nr_render(m->msg, f->locale, nrbuffer, f)==0 && nrbuffer[0]) { + fprintf(F, "MESSAGE %d\n", ++msgno); + fprintf(F, "%d;type\n", hash); + fputs("\"", F); + fputs(nrbuffer, F); + fputs("\";rendered\n", F); + printed = true; + } +#endif + crbuffer[0] = '\0'; + if (cr_render(m->msg, crbuffer, (const void*)f)==0 && crbuffer[0]) { + if (!printed) fprintf(F, "MESSAGE %d\n", ++msgno); + fputs(crbuffer, F); + } else log_error(("could not render cr-message %p\n", m->msg)); + if (printed) { + unsigned int ihash = hash % MTMAXHASH; + struct known_mtype * kmt = mtypehash[ihash]; + while (kmt && kmt->mtype != mtype) kmt = kmt->nexthash; + if (kmt==NULL) { + kmt = (struct known_mtype*)malloc(sizeof(struct known_mtype)); + kmt->nexthash = mtypehash[ihash]; + kmt->mtype = mtype; + mtypehash[ihash] = kmt; + } + } m = m->next; } } @@ -306,11 +297,9 @@ render_messages(FILE * F, faction * f, message_list *msgs) static void cr_output_messages(FILE * F, message_list *msgs, faction * f) { - render_messages(F, f, msgs); + if (msgs) render_messages(F, f, msgs); } -#endif - /* prints a building */ static void cr_output_buildings(FILE * F, building * b, unit * u, int fno, faction *f) @@ -409,6 +398,7 @@ cr_output_unit(FILE * F, region * r, item *itm, *show; boolean itemcloak = is_cursed(u->attribs, C_ITEMCLOAK, 0); building * b; + const char * pzTmp; skill_t sk; strlist *S; const attrib *a_fshidden = NULL; @@ -443,8 +433,11 @@ cr_output_unit(FILE * F, region * r, fprintf(F, "%d;Anzahl\n", u->number); } - fprintf(F, "\"%s\";Typ\n", race[u->irace].name[1]); - if (u->irace != u->race && u->faction==f) { + + pzTmp = get_racename(u->attribs); + if (pzTmp==NULL) fprintf(F, "\"%s\";Typ\n", race[u->irace].name[1]); + else fprintf(F, "\"%s\";Typ\n", pzTmp); + if ((pzTmp || u->irace != u->race) && u->faction==f) { fprintf(F, "\"%s\";wahrerTyp\n", race[u->race].name[1]); } @@ -631,7 +624,6 @@ cr_find_address(FILE * F, faction * uf) void **fp; cvector *fcts = malloc(sizeof(cvector)); -#if NEWBLOCKS cv_init(fcts); for (f = factions; f; f = f->next) { if (f->no != 0 && kann_finden(uf, f) != 0) { @@ -655,7 +647,6 @@ cr_find_address(FILE * F, faction * uf) } } free(cv_kill(fcts)); -#endif } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ @@ -729,9 +720,7 @@ report_computer(FILE * F, faction * f) fflush(stdout); } else printf(" - schreibe Computerreport\n"); -#ifdef OLD_MESSAGES - assert(crtypes[0]==NULL); -#endif + fprintf(F, "VERSION %d\n", C_REPORT_VERSION); fprintf(F, "\"%s\";Spiel\n", global.gamename); fprintf(F, "\"%s\";Konfiguration\n", "Standard"); @@ -776,7 +765,6 @@ report_computer(FILE * F, faction * f) } #endif - f->index = 0; cr_output_str_list(F, "FEHLER", f->mistakes, f); cr_output_messages(F, f->msgs, f); { @@ -1009,10 +997,5 @@ report_computer(FILE * F, faction * f) } } /* region traversal */ } -#ifdef OLD_MESSAGES report_crtypes(F, f->locale); - reset_crtypes(); -#else - /* TODO */ -#endif } diff --git a/src/common/gamecode/creport.h b/src/common/gamecode/creport.h index 3ec4c69fe..92079e173 100644 --- a/src/common/gamecode/creport.h +++ b/src/common/gamecode/creport.h @@ -1 +1,5 @@ extern void creport_cleanup(void); +extern void creport_init(void); + +extern void report_init(void); +extern void report_cleanup(void); diff --git a/src/common/gamecode/economy.c b/src/common/gamecode/economy.c index acabdbf13..987f08478 100644 --- a/src/common/gamecode/economy.c +++ b/src/common/gamecode/economy.c @@ -1,5 +1,6 @@ /* vi: set ts=2: * + * $Id: economy.c,v 1.11 2001/04/12 17:21:42 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -62,7 +63,8 @@ #include <limits.h> #include <attributes/reduceproduction.h> -extern attrib_type at_orcification; +#include <attributes/racename.h> +#include <attributes/orcification.h> /* - static global symbols ------------------------------------- */ typedef struct spende { @@ -86,7 +88,7 @@ static int entertaining; static int norders; static request *oa; -int +int income(const unit * u) { switch(u->race) { @@ -241,39 +243,47 @@ expandrecruit(region * r, request * recruitorders) /* Rekrutierung */ int i, n, p = rpeasants(r), h = rhorses(r); - unit *u; - int recruitcost, rfrac = p / RECRUITFRACTION; + int rfrac = p / RECRUITFRACTION; + unit * u; expandorders(r, recruitorders); if (!norders) return; - for (i = 0, n = 0; i != norders && n < rfrac; i++, n++) { - if (!(race[oa[i].unit->race].ec_flags & REC_HORSES)) { - recruitcost = race[oa[i].unit->faction->race].rekrutieren; - if (use_pooled(oa[i].unit, r, R_SILVER, recruitcost) != recruitcost) - break; - set_number(oa[i].unit, oa[i].unit->number + 1); - if (oa[i].unit->faction->race != RC_DAEMON) p--; - oa[i].unit->race = oa[i].unit->faction->race; - oa[i].unit->n++; + for (i = 0, n = 0; i != norders; i++) { + unit * u = oa[i].unit; + race_t rc = u->faction->race; + int recruitcost = race[rc].rekrutieren; + + /* check if recruiting is limited. either horses or peasant fraction or not at all */ + if ((race[rc].ec_flags & ECF_REC_UNLIMITED)==0) { + /* not unlimited, and everything's gone: */ + if (race[rc].ec_flags & ECF_REC_HORSES) { + /* recruit from horses if not all gone */ + if (h <= 0) continue; + } + else if ((race[rc].ec_flags & ECF_REC_ETHEREAL) == 0) { + /* recruit from peasants if any space left */ + if (n > rfrac) continue; + } + } + if (recruitcost) { + if (get_pooled(oa[i].unit, r, R_SILVER) < recruitcost) continue; + use_pooled(oa[i].unit, r, R_SILVER, recruitcost); + } + if ((race[rc].ec_flags & ECF_REC_UNLIMITED)==0) { + if (race[rc].ec_flags & ECF_REC_HORSES) h--; /* use a horse */ + else { + if ((race[rc].ec_flags & ECF_REC_ETHEREAL)==0) p--; /* use a peasant */ + n++; + } + set_number(u, u->number + 1); + u->race = rc; + u->n++; } } + assert(p>=0 && h>=0); rsetpeasants(r, p); - - for (i = 0, n = 0; i != norders && n < h; i++, n++) { - if (race[oa[i].unit->race].ec_flags & REC_HORSES) { - recruitcost = race[oa[i].unit->faction->race].rekrutieren; - if (use_pooled(oa[i].unit, r, R_SILVER, recruitcost) != recruitcost) - break; - - set_number(oa[i].unit, oa[i].unit->number + 1); - if (oa[i].unit->faction->race != RC_DAEMON) h--; - oa[i].unit->race = oa[i].unit->faction->race; - oa[i].unit->n++; - } - } - rsethorses(r, h); free(oa); @@ -286,7 +296,7 @@ expandrecruit(region * r, request * recruitorders) change_skill(u, SK_SWORD, 30 * u->n); change_skill(u, SK_SPEAR, 30 * u->n); } - if (race[u->race].ec_flags & REC_HORSES) { + if (race[u->race].ec_flags & ECF_REC_HORSES) { change_skill(u, SK_RIDING, 30 * u->n); } i = fspecial(u->faction, FS_MILITIA); @@ -351,7 +361,7 @@ recruit(region * r, unit * u, strlist * S, } if (fval(r, RF_ORCIFIED) && u->faction->race != RC_ORC && - !(race[u->faction->race].ec_flags & REC_HORSES)) { + !(race[u->faction->race].ec_flags & ECF_REC_HORSES)) { cmistake(u, S->s, 238, MSG_EVENT); return; } @@ -428,15 +438,14 @@ add_give(unit * u, unit * u2, int n, const resource_type * rtype, const char * c else if (!u2 || u2->faction!=u->faction) { assert(rtype); add_message(&u->faction->msgs, - new_message(u->faction, "give%u:unit%u:target%r:region%X:resource%i:amount", + new_message(u->faction, "give%u:unit%u:target%X:resource%i:amount", u, u2?(cansee(u->faction, u->region, u2, 0)?u2:NULL):&u_peasants, - u->region, rtype, n)); + rtype, n)); if (u2) add_message(&u2->faction->msgs, - new_message(u2->faction, "give%u:unit%u:target%r:region%X:resource%i:amount", + new_message(u2->faction, "give%u:unit%u:target%X:resource%i:amount", u?(cansee(u2->faction, u2->region, u, 0)?u:NULL):&u_peasants, - u2, - u2->region, rtype, n)); + u2, rtype, n)); } } @@ -557,6 +566,7 @@ givemen(int n, unit * u, unit * u2, strlist * S) if (!error) { if (u2 && u2->number == 0) { + set_racename(&u2->attribs, get_racename(u->attribs)); u2->race = u->race; u2->irace = u->irace; } else if (u2 && u2->race != u->race) { @@ -709,9 +719,9 @@ giveunit(region * r, unit * u, unit * u2, strlist * S) return; } add_message(&u2->faction->msgs, - new_message(u2->faction, "give%u:unit%u:target%r:region%X:resource%i:amount", + new_message(u2->faction, "give%u:unit%u:target%X:resource%i:amount", u?&u_peasants:(cansee(u2->faction, u->region, u, 0)?u:NULL), - u2, u->region, r_unit, 1)); + u2, r_unit, 1)); u_setfaction(u, u2->faction); u2->faction->newbies += n; @@ -737,9 +747,9 @@ giveunit(region * r, unit * u, unit * u2, strlist * S) } } add_message(&u->faction->msgs, - new_message(u->faction, "give%u:unit%u:target%r:region%X:resource%i:amount", + new_message(u->faction, "give%u:unit%u:target%X:resource%i:amount", u, u2?&u_peasants:u2, - u->region, r_unit, 1)); + r_unit, 1)); } @@ -1344,6 +1354,7 @@ manufacture(unit * u, const item_type * itype, int want) } if (n>0) { i_change(&u->items, itype, n); + if (want==INT_MAX) want = n; add_message(&u->faction->msgs, new_message(u->faction, "manufacture%u:unit%r:region%i:amount%i:wanted%X:resource", u, u->region, n, want, itype->rtype)); } @@ -1579,6 +1590,7 @@ split_allocations(region * r) i_change(&al->unit->items, itype, al->get); change_skill(al->unit, itype->construction->skill, al->unit->number * PRODUCEEXP); } + if (al->want==INT_MAX) al->want = al->get; add_message(&al->unit->faction->msgs, new_message(al->unit->faction, "produce%u:unit%r:region%i:amount%i:wanted%X:resource", al->unit, al->unit->region, al->get, al->want, rtype)); } *p_al=al->next; @@ -1631,6 +1643,7 @@ create_potion(unit * u, const potion_type * ptype, int want) break; default: i_change(&u->items, ptype->itype, built); + if (want==INT_MAX) want = built; add_message(&u->faction->msgs, new_message(u->faction, "manufacture%u:unit%r:region%i:amount%i:wanted%X:resource", u, u->region, built, want, ptype->itype->rtype)); break; diff --git a/src/common/gamecode/laws.c b/src/common/gamecode/laws.c index 067b77808..f7788f48d 100644 --- a/src/common/gamecode/laws.c +++ b/src/common/gamecode/laws.c @@ -38,25 +38,28 @@ #include <save.h> #include <ship.h> #include <skill.h> -#include "movement.h" -#include "monster.h" -#include "spy.h" -#include "race.h" -#include "battle.h" -#include "region.h" -#include "unit.h" -#include "plane.h" -#include "study.h" -#include "karma.h" -#include "pool.h" -#include "building.h" -#include "group.h" +#include <movement.h> +#include <monster.h> +#include <spy.h> +#include <race.h> +#include <battle.h> +#include <region.h> +#include <unit.h> +#include <plane.h> +#include <karma.h> +#include <pool.h> +#include <building.h> +#include <group.h> /* gamecode includes */ +#include "study.h" #include "economy.h" #include "creation.h" #include "randenc.h" +/* attributes includes */ +#include <attributes/racename.h> + /* util includes */ #include <event.h> #include <base36.h> @@ -2270,7 +2273,7 @@ reorder_owners(region * r) static attrib_type at_number = { - "faction_renum", + "faction_renum", NULL, NULL, NULL, NULL, NULL, ATF_UNIQUE }; @@ -2651,8 +2654,10 @@ new_units (void) if (fval(u, FL_PARTEITARNUNG)) fset(u2, FL_PARTEITARNUNG); /* Daemonentarnung */ - if(u->race == RC_DAEMON) + set_racename(&u2->attribs, get_racename(u->attribs)); + if(race[u->race].flags & RCF_SHAPESHIFT) { u2->irace = u->irace; + } S = S->next; @@ -3121,7 +3126,7 @@ count_migrants (const faction * f) int n = 0; while (u) { assert(u->faction == f); - if (u->race != f->race && u->race != RC_ILLUSION && u->race != RC_SPELL + if (u->race != f->race && u->race != RC_ILLUSION && u->race != RC_SPELL && !nonplayer(u) && !(is_cursed(u->attribs, C_SLAVE, 0))) { n += u->number; diff --git a/src/common/gamecode/monster.c b/src/common/gamecode/monster.c index 29a00b392..b262bfa03 100644 --- a/src/common/gamecode/monster.c +++ b/src/common/gamecode/monster.c @@ -55,6 +55,9 @@ #include <attributes/targetregion.h> #include <attributes/hate.h> +/* spezialmonster */ +#include <spells/alp.h> + #ifdef HAVE_ZLIB #include <zlib.h> static gzFile dragonlog; @@ -461,6 +464,78 @@ set_movement_order(unit * u, const region * target, int moves, boolean (*allowed } /* ------------------------------------------------------------- */ +void +monster_seeks_target(region *r, unit *u) +{ + direction_t d; + strlist *S, **SP; + unit *target = NULL; + int dist, dist2; + direction_t i; + region *nr; + + /* Das Monster sucht ein bestimmtes Opfer. Welches, steht + * in einer Referenz/attribut + * derzeit gibt es nur den alp + */ + + switch( u->race ) { + case RC_ALP: + target = alp_target(u); + break; + default: + assert(!"Seeker-Monster gibt kein Ziel an"); + } + + /* TODO: pr�fen, ob target �berhaupt noch existiert... */ + + if( r == target->region ) { /* Wir haben ihn! */ + switch( u->race ) { + case RC_ALP: + alp_findet_opfer(u, r); + break; + default: + assert(!"Seeker-Monster hat keine Aktion fuer Ziel"); + } + return; + } + + /* Simpler Ansatz: Nachbarregion mit gerinster Distanz suchen. + * Sinnvoll momentan nur bei Monstern, die sich nicht um das + * Terrain k�mmern. Nebelw�nde & Co machen derzeit auch nix... + */ + dist2 = distance(r, target->region); + d = NODIRECTION; + for( i = 0; i < MAXDIRECTIONS; i++ ) { + nr = rconnect(r, i); + assert(nr); + dist = distance(nr, target->region); + if( dist < dist2 ) { + dist2 = dist; + d = i; + } + } + assert(d != NODIRECTION ); + + switch( u->race ) { + case RC_ALP: + if( !(u->age % 2) ) /* bewegt sich nur jede zweite Runde */ + d = NODIRECTION; + break; + default: + break; + } + + if( d == NODIRECTION ) + return; + sprintf(buf, "%s %s", keywords[K_MOVE], directions[d]); + SP = &u->orders; + S = makestrlist(buf); + addlist2(SP, S); + *SP = 0; +} +/* ------------------------------------------------------------- */ + unit * random_unit(const region * r) { @@ -921,6 +996,10 @@ plan_monsters(void) case RC_ILLUSION: if (u->no==atoi36("ponn")) ponnuki(u); break; + /* Alp */ + case RC_ALP: + monster_seeks_target(r, u); + break; case RC_FIREDRAGON: case RC_DRAGON: case RC_WYRM: diff --git a/src/common/gamecode/randenc.c b/src/common/gamecode/randenc.c index dfb411a02..e7b08bbcb 100644 --- a/src/common/gamecode/randenc.c +++ b/src/common/gamecode/randenc.c @@ -1,6 +1,5 @@ /* vi: set ts=2: * - * $Id: randenc.c,v 1.10 2001/04/01 06:58:36 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -45,6 +44,9 @@ #include "ship.h" #include "battle.h" +/* attributes includes */ +#include <attributes/racename.h> + /* util includes */ #include <rand.h> @@ -452,7 +454,10 @@ get_allies(region * r, unit * u) } u_setfaction(newunit, u->faction); - if (u->race==RC_DAEMON) newunit->irace=u->irace; + set_racename(&newunit->attribs, get_racename(u->attribs)); + if(race[u->race].flags & RCF_SHAPESHIFT) { + newunit->irace = u->irace; + } if (fval(u, FL_PARTEITARNUNG)) fset(newunit, FL_PARTEITARNUNG); fset(u, FL_ISNEW); @@ -966,6 +971,9 @@ randomevents(void) /* Orks vermehren sich */ for (r = regions; r; r = r->next) { + plane * p = rplane(r); + /* there is a flag for planes without orc growth: */ + if (p && (p->flags & PFL_NOORCGROWTH)) continue; for (u = r->units; u; u = u->next) { if ( (u->race == RC_ORC || is_cursed(u->attribs, C_ORC, 0)) && get_skill(u, SK_MAGIC) == 0 @@ -1275,7 +1283,7 @@ randomevents(void) set_skill(u, SK_AUSDAUER, u->number * 30); set_skill(u, SK_STEALTH, u->number * 30); fprintf(stderr, "%d %s in %s.\n", u->number, - race[u->race].name[1], tregionid(r, NULL)); + race[u->race].name[1], regionname(r, NULL)); name_unit(u); set_string(&u->lastorder, "WARTEN"); @@ -1314,7 +1322,7 @@ randomevents(void) /* Chance 0.1% * chaosfactor */ if (r->land && unburied > r->land->peasants / 20 && rand() % 10000 < (100 + 100 * chaosfactor(r))) { - /* es ist sinnfrei, wenn irgendwo im Wald 3er-Einheiten Untote entstehen. + /* es ist sinnfrei, wenn irgendwo im Wald 3er-Einheiten Untote entstehen. * Lieber sammeln lassen, bis sie mindestens 5% der Bev�lkerung sind, und * dann erst auferstehen. */ int undead = unburied / (rand() % 2 + 1); @@ -1355,7 +1363,7 @@ randomevents(void) name_unit(u); fprintf(stderr, "%d %s in %s.\n", u->number, - race[u->race].name[1], tregionid(r, NULL)); + race[u->race].name[1], regionname(r, NULL)); add_message(&r->msgs, new_message(NULL, "undeadrise%r:region", r)); for (u=r->units;u;u=u->next) freset(u->faction, FL_DH); @@ -1406,7 +1414,7 @@ randomevents(void) else set_string(&u->name, "W�tende Ents"); - fprintf(stderr, "%d Ents in %s.\n", u->number, tregionid(r, NULL)); + fprintf(stderr, "%d Ents in %s.\n", u->number, regionname(r, NULL)); add_message(&r->msgs, new_message(NULL, "entrise%r:region", r)); for (u=r->units;u;u=u->next) freset(u->faction, FL_DH); diff --git a/src/common/gamecode/report.c b/src/common/gamecode/report.c index 7386e9efc..1baa3fedc 100644 --- a/src/common/gamecode/report.c +++ b/src/common/gamecode/report.c @@ -7,15 +7,8 @@ * Enno Rehling (enno@eressea-pbem.de) * Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de) * - * based on: - * - * Atlantis v1.0 13 September 1993 Copyright 1993 by Russell Wallace - * Atlantis v1.7 Copyright 1996 by Alex Schr�der - * * This program may not be used, modified or distributed without * prior permission by the authors of Eressea. - * This program may not be sold or used commercially without prior written - * permission from the authors. */ #define FAST_SEEN 0 @@ -56,7 +49,6 @@ #include <pool.h> #include <race.h> #include <region.h> -#include <render.h> #include <reports.h> #include <save.h> #include <ship.h> @@ -67,10 +59,10 @@ /* util includes */ #include <goodies.h> #include <base36.h> -#ifdef NEW_MESSAGES #include <nrmessage.h> +#include <translation.h> #include <util/message.h> -#endif + /* libc includes */ #include <assert.h> #include <ctype.h> @@ -732,29 +724,17 @@ rp_messages(FILE * F, message_list * msgs, faction * viewer, int indent, boolean if (!msgs) return; for (category=msgclasses; category; category=category->next) { int k = 0; -#ifdef NEW_MESSAGES struct mlist * m = msgs->begin; -#else - message_list * m = msgs; -#endif while (m) { boolean debug = viewer->options & want(O_DEBUG); #ifdef MSG_LEVELS if (!debug && get_msglevel(viewer->warnings, viewer->msglevels, m->type) < m->level) continue; #endif /* messagetype * mt = m->type; */ -#ifdef NEW_MESSAGES if (strcmp(nr_section(m->msg), category->name)==0) -#else - if (m->receiver==NULL || !viewer || viewer==m->receiver) -#endif { -#ifdef OLD_MESSAGES - const char * s = render(m, viewer->locale); -#else char buf[4096], *s = buf; - nr_render(m->msg, viewer->locale, s); -#endif + nr_render(m->msg, viewer->locale, s, viewer); if (!k && categorized) { const char * name; char cat_identifier[24]; @@ -2615,7 +2595,6 @@ void reports(void) { faction *f; - region *r; boolean gotit; FILE *shfp, *F, *BAT; int wants_report, wants_computer_report, @@ -2638,20 +2617,13 @@ reports(void) wants_bzip2 = 1 << O_BZIP2; printf("\n"); - for (r=regions;r;r=r->next) { - invert_list(&r->msgs); - } report_donations(); #if FAST_SEEN init_intervals(); #endif remove_empty_units(); for (f = factions; f; f = f->next) { - struct bmsg * b; attrib * a = a_find(f->attribs, &at_reportspell); - for (b = f->battles;b;b=b->next) - invert_list(&b->msgs); - invert_list(&f->battles); current_faction = f; gotit = false; @@ -2661,7 +2633,6 @@ reports(void) } else printf("%s\n", factionname(f)); prepare_report(f); - invert_list(&f->msgs); if (!nonr && (f->options & wants_report)) { sprintf(buf, "%s/%s.nr", reportpath(), factionid(f)); @@ -2776,7 +2747,7 @@ reports(void) } void -reports_cleanup(void) +report_cleanup(void) { int i; for (i=0;i!=FMAXHASH;++i) { @@ -3147,18 +3118,20 @@ writenewssubscriptions(void) { char zText[MAX_PATH]; FILE *F; - faction *f; sprintf(zText, "%s/news-subscriptions", basepath()); F = cfopen(zText, "w"); if (!F) return; #ifdef AT_OPTION - for(f=factions; f; f=f->next) { - attrib *a = a_find(f->attribs, &at_option_news); - if(!a) { - fprintf(F, "%s:0\n", f->email); - } else { - fprintf(F, "%s:%d\n", f->email, a->data.i); + { + faction *f; + for(f=factions; f; f=f->next) { + attrib *a = a_find(f->attribs, &at_option_news); + if(!a) { + fprintf(F, "%s:0\n", f->email); + } else { + fprintf(F, "%s:%d\n", f->email, a->data.i); + } } } #endif @@ -3351,3 +3324,82 @@ report_summary(summary * s, summary * o, boolean full) } } /******* end summary ******/ + +static void +eval_unit(struct opstack ** stack, const void * userdata) /* unit -> string */ +{ + const struct unit * u = opop(stack, const struct unit *); + const char * c = u?unitname(u):"nobody"; + size_t len = strlen(c); + opush(stack, strcpy(balloc(len+1), c)); +} + +static void +eval_faction(struct opstack ** stack, const void * userdata) /* faction -> string */ +{ + const struct faction * f = opop(stack, const struct faction *); + const char * c = factionname(f); + size_t len = strlen(c); + opush(stack, strcpy(balloc(len+1), c)); +} + +static void +eval_region(struct opstack ** stack, const void * userdata) /* region -> string */ +{ + const struct faction * f = (const struct faction *)userdata; + const struct region * r = opop(stack, const struct region *); + const char * c = regionname(r, f); + size_t len = strlen(c); + opush(stack, strcpy(balloc(len+1), c)); +} + +static void +eval_ship(struct opstack ** stack, const void * userdata) /* ship -> string */ +{ + const struct ship * u = opop(stack, const struct ship *); + const char * c = u?shipname(u):"nobody"; + size_t len = strlen(c); + opush(stack, strcpy(balloc(len+1), c)); +} + +static void +eval_building(struct opstack ** stack, const void * userdata) /* building -> string */ +{ + const struct building * u = opop(stack, const struct building *); + const char * c = u?buildingname(u):"nobody"; + size_t len = strlen(c); + opush(stack, strcpy(balloc(len+1), c)); +} + +static void +eval_resource(struct opstack ** stack, const void * userdata) +{ + const faction * report = (const faction*)userdata; + int j = opop(stack, int); + struct resource_type * res = opop(stack, struct resource_type *); + + const char * c = locale_string(report->locale, resourcename(res, j!=1)); + opush(stack, strcpy(balloc(strlen(c)+1), c)); +} + +static void +eval_skill(struct opstack ** stack, const void * userdata) +{ + const faction * report = (const faction*)userdata; + int sk = opop(stack, int); + const char * c = locale_string(report->locale, skillnames[sk]); + opush(stack, strcpy(balloc(strlen(c)+1), c)); + unused(userdata); +} + +void +report_init(void) +{ + add_function("region", &eval_region); + add_function("resource", &eval_resource); + add_function("faction", &eval_faction); + add_function("ship", &eval_ship); + add_function("unit", &eval_unit); + add_function("building", &eval_building); + add_function("skill", &eval_skill); +} diff --git a/src/common/gamecode/spy.c b/src/common/gamecode/spy.c index 065f5aefd..9fe3fd3f0 100644 --- a/src/common/gamecode/spy.c +++ b/src/common/gamecode/spy.c @@ -38,11 +38,15 @@ #include "skill.h" #include "unit.h" +/* attributes includes */ +#include <attributes/racename.h> + /* util includes */ #include "vset.h" /* libc includes */ #include <assert.h> +#include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -113,6 +117,8 @@ setstealth(unit * u, strlist * S) if (u->race == RC_PSEUDODRAGON || u->race == RC_BIRTHDAYDRAGON) { if (t==RC_PSEUDODRAGON||t==RC_FIREDRAGON||t==RC_DRAGON||t==RC_WYRM) { u->irace = t; + if (race[u->race].flags & RCF_SHAPESHIFTANY && get_racename(u->attribs)) + set_racename(&u->attribs, NULL); } return; } @@ -121,6 +127,8 @@ setstealth(unit * u, strlist * S) if (race[u->race].flags & RCF_SHAPESHIFT) { if (!race[t].nonplayer) { u->irace = t; + if (race[u->race].flags & RCF_SHAPESHIFTANY && get_racename(u->attribs)) + set_racename(&u->attribs, NULL); } } return; @@ -174,14 +182,18 @@ setstealth(unit * u, strlist * S) } break; default: - /* Sonst: Tarnungslevel setzen */ - level = (char) atoip(s); - if (level > effskill(u, SK_STEALTH)) { - sprintf(buf, "%s kann sich nicht so gut tarnen.", unitname(u)); - mistake(u, S->s, buf, MSG_EVENT); - return; + if (isdigit(s[0])) { + /* Tarnungslevel setzen */ + level = (char) atoip(s); + if (level > effskill(u, SK_STEALTH)) { + sprintf(buf, "%s kann sich nicht so gut tarnen.", unitname(u)); + mistake(u, S->s, buf, MSG_EVENT); + return; + } + u_seteffstealth(u, level); + } else if (race[u->race].flags & RCF_SHAPESHIFTANY) { + set_racename(&u->attribs, s); } - u_seteffstealth(u, level); } return; } diff --git a/src/common/gamecode/study.c b/src/common/gamecode/study.c index 8cdd60cdb..f89e1b726 100644 --- a/src/common/gamecode/study.c +++ b/src/common/gamecode/study.c @@ -1,6 +1,5 @@ /* vi: set ts=2: * - * $Id: study.c,v 1.9 2001/04/01 06:58:37 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -19,6 +18,9 @@ * permission from the authors. */ +#define TEACH_ALL 1 +#define TEACH_FRIENDS 1 + #include <config.h> #include "eressea.h" @@ -116,13 +118,95 @@ static const attrib_type at_learning = { ATF_UNIQUE }; +static int +teach_unit(unit * teacher, unit * student, int teaching, skill_t sk, boolean report) +{ + attrib * a; + int n; + + /* learning sind die Tage, die sie schon durch andere Lehrer zugute + * geschrieben bekommen haben. Total darf dies nicht �ber 30 Tage pro Mann + * steigen. + * + * n ist die Anzahl zus�tzlich gelernter Tage. n darf max. die Differenz + * von schon gelernten Tagen zum max(30 Tage pro Mann) betragen. */ + +#ifdef RANDOMIZED_LEARNING + n = student->number * dice(2,30); +#else + n = student->number * 30; +#endif + a = a_find(student->attribs, &at_learning); + if (a!=NULL) n -= a->data.i; + + n = min(n, teaching); + + if (n != 0) { + struct building * b = inside_building(teacher); + const struct building_type * btype = b?b->type:NULL; + + 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) { + int j = study_cost(teacher, sk); + j = max(50, j * 2); + if (get_pooled(teacher, teacher->region, R_SILVER) >= j) { /* kann Einheit das zahlen? */ + /* Jeder Sch�ler zus�tzlich +10 Tage wenn in Uni. */ + a->data.i += (n / 30) * 10; /* learning erh�hen */ + /* Lehrer zus�tzlich +1 Tag pro Sch�ler. */ + set_skill(teacher, sk, get_skill(teacher, sk) + (n / 30)); + } /* sonst nehmen sie nicht am Unterricht teil */ + } + /* Teaching ist die Anzahl Leute, denen man noch was beibringen kann. Da + * hier nicht n verwendet wird, werden die Leute gez�hlt und nicht die + * effektiv gelernten Tage. -> FALSCH ? (ENNO) + * + * Eine Einheit A von 11 Mann mit Talent 0 profitiert vom ersten Lehrer B + * also 10x30=300 tage, und der zweite Lehrer C lehrt f�r nur noch 1x30=30 + * Tage (damit das Maximum von 11x30=330 nicht �berschritten wird). + * + * Damit es aber in der Ausf�hrung nicht auf die Reihenfolge drauf ankommt, + * darf der zweite Lehrer C keine weiteren Einheiten D mehr lehren. Also + * wird student 30 Tage gutgeschrieben, aber teaching sinkt auf 0 (300-11x30 <= + * 0). + * + * Sonst tr�te dies auf: + * + * A: lernt B: lehrt A C: lehrt A D D: lernt + * + * Wenn B vor C dran ist, lehrt C nur 30 Tage an A (wie oben) und + * 270 Tage an D. + * + * Ist C aber vor B dran, lehrt C 300 tage an A, und 0 tage an D, + * und B lehrt auch 0 tage an A. + * + * Deswegen darf C D nie lehren d�rfen. + * + * -> Das ist wirr. wer hat das entworfen? + * Besser w�re, man macht erst vorab alle zuordnungen, und dann + * die Talent�nderung (enno). + */ + + teaching = max(0, teaching - student->number * 30); + + if (report || teacher->faction != student->faction) { + add_message(&student->faction->msgs, new_message(student->faction, + "teach%u:teacher%u:student%t:skill", teacher, student, sk)); + add_message(&teacher->faction->msgs, new_message(teacher->faction, + "teach%u:teacher%u:student%t:skill", teacher, student, sk)); + } + } + return n; +} + static void teach(region * r, unit * u) { /* Parameter r gebraucht, um kontrollieren zu k�nnen, da� die Ziel-Unit auch * in der selben Region ist (getunit). Lehren vor lernen. */ static char order[BUFSIZE]; - int teaching, n, i, j, count; + int teaching, i, j, count; unit *u2; char *s; skill_t sk; @@ -155,8 +239,49 @@ teach(region * r, unit * u) u2 = 0; count = 0; +#if TEACH_ALL + if (getparam()==P_ANY) { + unit * student = r->units; + skill_t teachskill[MAXSKILLS]; + int i = 0; + do { + sk = getskill(); + teachskill[i++]=sk; + } while (sk!=NOSKILL); + while (teaching && student) { + if (student->faction == u->faction) { + if (igetkeyword(student->thisorder) == K_STUDY) { + /* Input ist nun von student->thisorder !! */ + sk = getskill(); + if (sk!=NOSKILL && teachskill[0]!=NOSKILL) { + for (i=0;teachskill[i]!=NOSKILL;++i) if (sk==teachskill[i]) break; + sk = teachskill[i]; + } + if (sk != NOSKILL && eff_skill(u, sk, r) > eff_skill(student, sk, r)) { + teaching -= teach_unit(u, student, teaching, sk, true); + } + } + } + student = student->next; + } +#if TEACH_FRIENDS + while (teaching && student) { + if (student->faction != u->faction && allied(u, student->faction, HELP_GUARD)) { + if (igetkeyword(student->thisorder) == K_STUDY) { + /* Input ist nun von student->thisorder !! */ + sk = getskill(); + if (sk != NOSKILL && eff_skill(u, sk, r) > eff_skill(student, sk, r)) { + teaching -= teach_unit(u, student, teaching, sk, true); + } + } + } + student = student->next; + } +#endif + } + else +#endif for (;;) { - attrib * a; /* Da sp�ter in der Schleife igetkeyword (u2->thisorder) verwendet wird, * mu� hier wieder von vorne gelesen werden. Also merken wir uns, an * welcher Stelle wir hier waren... @@ -259,75 +384,9 @@ teach(region * r, unit * u) continue; } } - /* learning sind die Tage, die sie schon durch andere Lehrer zugute - * geschrieben bekommen haben. Total darf dies nicht �ber 30 Tage pro Mann - * steigen. - * - * n ist die Anzahl zus�tzlich gelernter Tage. n darf max. die Differenz - * von schon gelernten Tagen zum max(30 Tage pro Mann) betragen. */ -#ifdef RANDOMIZED_LEARNING - n = u2->number * dice(2,30); -#else - n = u2->number * 30; -#endif - a = a_find(u2->attribs, &at_learning); - if (a!=NULL) n -= a->data.i; + teaching -= teach_unit(u, u2, teaching, sk, false); - n = min(n, teaching); - - if (n != 0) { - struct building * b = inside_building(u); - const struct building_type * btype = b?b->type:NULL; - - if (a==NULL) a = a_add(&u2->attribs, a_new(&at_learning)); - a->data.i += n; - - if (btype == &bt_academy && u2->building==u->building && inside_building(u2)!=NULL) { - j = study_cost(u, sk); - j = max(50, j * 2); - if (get_pooled(u, r, R_SILVER) >= j) { /* kann Einheit das zahlen? */ - /* Jeder Sch�ler zus�tzlich +10 Tage wenn in Uni. */ - a->data.i += (n / 30) * 10; /* learning erh�hen */ - /* Lehrer zus�tzlich +1 Tag pro Sch�ler. */ - set_skill(u, sk, get_skill(u, sk) + (n / 30)); - } /* sonst nehmen sie nicht am Unterricht teil */ - } - /* Teaching ist die Anzahl Leute, denen man noch was beibringen kann. Da - * hier nicht n verwendet wird, werden die Leute gez�hlt und nicht die - * effektiv gelernten Tage. - * - * Eine Einheit A von 11 Mann mit Talent 0 profitiert vom ersten Lehrer B - * also 10x30=300 tage, und der zweite Lehrer C lehrt f�r nur noch 1x30=30 - * Tage (damit das Maximum von 11x30=330 nicht �berschritten wird). - * - * Damit es aber in der Ausf�hrung nicht auf die Reihenfolge drauf ankommt, - * darf der zweite Lehrer C keine weiteren Einheiten D mehr lehren. Also - * wird u2 30 Tage gutgeschrieben, aber teaching sinkt auf 0 (300-11x30 <= - * 0). - * - * Sonst tr�te dies auf: - * - * A: lernt B: lehrt A C: lehrt A D D: lernt - * - * Wenn B vor C dran ist, lehrt C nur 30 Tage an A (wie oben) und - * 270 Tage an D. - * - * Ist C aber vor B dran, lehrt C 300 tage an A, und 0 tage an D, - * und B lehrt auch 0 tage an A. - * - * Deswegen darf C D nie lehren d�rfen. - */ - - teaching = max(0, teaching - u2->number * 30); - - if (u->faction != u2->faction) { - add_message(&u2->faction->msgs, new_message(u2->faction, - "teach%u:teacher%u:student%t:skill", u, u2, sk)); - add_message(&u->faction->msgs, new_message(u->faction, - "teach%u:teacher%u:student%t:skill", u, u2, sk)); - } - } } } /* ------------------------------------------------------------- */ diff --git a/src/common/items/lmsreward.c b/src/common/items/lmsreward.c index 336f6840d..a83ec5d84 100644 --- a/src/common/items/lmsreward.c +++ b/src/common/items/lmsreward.c @@ -1,6 +1,5 @@ /* vi: set ts=2: * - * $Id: lmsreward.c,v 1.3 2001/04/01 06:58:37 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) diff --git a/src/common/items/weapons.c b/src/common/items/weapons.c index e22701cae..92c0eaaba 100644 --- a/src/common/items/weapons.c +++ b/src/common/items/weapons.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: weapons.c,v 1.3 2001/02/03 13:45:30 enno Exp $ + * $Id: weapons.c,v 1.4 2001/04/12 17:21:42 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -25,28 +25,28 @@ #include <assert.h> #include <stdlib.h> -weapon_mod wm_bow[] = { +static weapon_mod wm_bow[] = { { 2, WMF_MISSILE_TARGET }, { 0, 0 } }; -weapon_mod wm_catapult[] = { +static weapon_mod wm_catapult[] = { { 1, WMF_MISSILE_TARGET }, { 0, 0 } }; -weapon_mod wm_spear[] = { +static weapon_mod wm_spear[] = { { 1, WMF_SKILL|WMF_RIDING|WMF_AGAINST_ANYONE|WMF_OFFENSIVE }, { 1, WMF_SKILL|WMF_WALKING|WMF_AGAINST_RIDING|WMF_DEFENSIVE }, { 0, 0 } }; -weapon_mod wm_lance[] = { +static weapon_mod wm_lance[] = { { 1, WMF_SKILL|WMF_RIDING|WMF_AGAINST_ANYONE|WMF_OFFENSIVE }, { 0, 0 } }; -weapon_mod wm_halberd[] = { +static weapon_mod wm_halberd[] = { { 1, WMF_SKILL|WMF_WALKING|WMF_AGAINST_RIDING|WMF_DEFENSIVE }, { 0, 0 } }; diff --git a/src/common/kernel/battle.c b/src/common/kernel/battle.c index 4d25bb10f..6de7fca02 100644 --- a/src/common/kernel/battle.c +++ b/src/common/kernel/battle.c @@ -9,11 +9,11 @@ * * This program may not be used, modified or distributed without * prior permission by the authors of Eressea. - * This program may not be sold or used commercially without prior written - * permission from the authors. */ #define SHOW_KILLS +#define DELAYED_OFFENSE /* non-guarding factions cannot attack after moving */ +#define SHORT_ATTACKS /* attacking is always a short order */ #define TACTICS_RANDOM 5 /* define this as 1 to deactivate */ #define CATAPULT_INITIAL_RELOAD 4 /* erster schuss in runde 1 + rand() % INITIAL */ @@ -62,6 +62,10 @@ typedef enum combatmagic { /* attributes includes */ #include <attributes/key.h> +#include <attributes/racename.h> +#ifdef AT_MOVED +# include <attributes/moved.h> +#endif /* libc includes */ #include <assert.h> @@ -71,13 +75,10 @@ typedef enum combatmagic { #include <stdlib.h> #include <string.h> -#ifndef _MSC_VER -#include <sys/stat.h> -#include <sys/types.h> -#include <fcntl.h> +#if !defined(AT_MOVED) && defined(DELAYED_OFFENSE) +# error "must define AT_MOVED to use combat option DELAYED_OFFENSE" #endif - #ifdef HAVE_ZLIB # include <zlib.h> # define dbgprintf(a) gzprintf a; @@ -2216,13 +2217,14 @@ aftermath(battle * b) int dead = du->number - df->alive - df->run.number; int sum_hp = 0; int n; - +#ifndef SHORT_ATTACKS if (relevant && df->action_counter >= df->unit->number) { fset(df->unit, FL_LONGACTION); /* TODO: das sollte hier weg sobald anderswo �b * erall HADBATTLE getestet wird. */ set_string(&du->thisorder, ""); } +#endif for (n = 0; n != df->alive; ++n) { if (df->person[n].hp > 0) sum_hp += df->person[n].hp; @@ -2283,6 +2285,7 @@ aftermath(battle * b) if (fval(du, FL_PARTEITARNUNG)) fset(nu, FL_PARTEITARNUNG); /* Daemonentarnung */ + set_racename(&nu->attribs, get_racename(du->attribs)); nu->irace = du->irace; /* Fliehenden nehmen mit, was sie tragen k�nnen*/ @@ -3234,7 +3237,7 @@ flee(const troop dt) { fighter * fig = dt.fighter; unit * u = fig->unit; - int carry = PERSONCAPACITY(u) - race[u->race].weight; + int carry = personcapacity(u) - race[u->race].weight; int money; item ** ip = &u->items; @@ -3279,6 +3282,18 @@ flee(const troop dt) remove_troop(dt); } +#ifdef DELAYED_OFFENSE +static boolean +guarded_by(region * r, faction * f) +{ + unit * u; + for (u=r->units;u;u=u->next) { + if (u->faction == f && getguard(u)) return true; + } + return false; +} +#endif + void do_battle(void) { @@ -3315,14 +3330,15 @@ do_battle(void) list_continue(sl); } - /* Fehlerbehandlung Angreifer */ - if (is_spell_active(r, C_PEACE)) { - sprintf(buf, "Hier ist es so sch�n friedlich, %s m�chte " - "hier niemanden angreifen.", unitname(u)); - mistake(u, sl->s, buf, MSG_BATTLE); - list_continue(sl); + /** + ** Fehlerbehandlung Angreifer + **/ +#ifdef DELAYED_OFFENSE + if (get_moved(&u->attribs) && !guarded_by(r, u->faction)) { + add_message(&u->faction->msgs, + make_message("no_attack_after_advance", "unit region command", u, u->region, sl->s)); } - +#endif if (fval(u, FL_HUNGER)) { cmistake(u, sl->s, 225, MSG_BATTLE); list_continue(sl); @@ -3336,6 +3352,13 @@ do_battle(void) /* ist ein Fl�chtling aus einem andern Kampf */ if (fval(u, FL_MOVED)) list_continue(sl); + if (is_spell_active(r, C_PEACE)) { + sprintf(buf, "Hier ist es so sch�n friedlich, %s m�chte " + "hier niemanden angreifen.", unitname(u)); + mistake(u, sl->s, buf, MSG_BATTLE); + list_continue(sl); + } + if (is_cursed(u->attribs, C_SLAVE, 0)) { sprintf(buf, "%s k�mpft nicht.", unitname(u)); mistake(u, sl->s, buf, MSG_BATTLE); diff --git a/src/common/kernel/border.c b/src/common/kernel/border.c index 36bbd67cc..4d905163f 100644 --- a/src/common/kernel/border.c +++ b/src/common/kernel/border.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: border.c,v 1.7 2001/02/18 12:11:32 enno Exp $ + * $Id: border.c,v 1.8 2001/04/12 17:21:43 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -117,7 +117,7 @@ read_borders(FILE * f) if (to==from) { direction_t dir = (direction_t) (rand() % MAXDIRECTIONS); region * r = rconnect(from, dir); - log_error(("[read_borders] invalid %s in %s\n", type->__name, tregionid(from, NULL))); + log_error(("[read_borders] invalid %s in %s\n", type->__name, regionname(from, NULL))); if (r!=NULL) to = r; } b = new_border(type, from, to); diff --git a/src/common/kernel/building.c b/src/common/kernel/building.c index c56e1177a..bd06c5e42 100644 --- a/src/common/kernel/building.c +++ b/src/common/kernel/building.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: building.c,v 1.7 2001/02/15 02:41:46 enno Exp $ + * $Id: building.c,v 1.8 2001/04/12 17:21:43 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -977,8 +977,9 @@ buildingowner(const region * r, const building * b) { unit *u = NULL; unit *first = NULL; - +#ifndef BROKEN_OWNERS assert(r == b->region); +#endif /* Pr�fen ob Eigent�mer am leben. */ for (u = r->units; u; u = u->next) { diff --git a/src/common/kernel/eressea.c b/src/common/kernel/eressea.c index 917b8d7e6..3e34e0bce 100644 --- a/src/common/kernel/eressea.c +++ b/src/common/kernel/eressea.c @@ -42,7 +42,6 @@ #include "monster.h" #include "race.h" #include "pool.h" -#include "study.h" #include "region.h" #include "unit.h" #include "skill.h" @@ -55,9 +54,9 @@ #include <base36.h> #include <event.h> #include <umlaut.h> -#ifdef NEW_MESSAGES -# include <translation.h> -#endif +#include <translation.h> +#include <crmessage.h> + /* libc includes */ #include <stdio.h> #include <stdlib.h> @@ -491,13 +490,13 @@ verify_data (void) lf = f->no; printf("Partei %s:\n", factionid(f)); } - printf("WARNUNG: Einheit %s hat %d Personen\n", unitid(u), u->number); + log_warning(("Einheit %s hat %d Personen\n", unitid(u), u->number)); } } if (f->no != 0 && ((mage > 3 && f->race != RC_ELF) || mage > 4)) - printf("FEHLER: Partei %s hat %d Magier.\n", factionid(f), mage); + log_error(("Partei %s hat %d Magier.\n", factionid(f), mage)); if (alchemist > 3) - printf("FEHLER: Partei %s hat %d Alchemisten.\n", factionid(f), alchemist); + log_error(("Partei %s hat %d Alchemisten.\n", factionid(f), alchemist)); } list_next(f); #endif @@ -1416,7 +1415,7 @@ cstring(const char *s) return r; } -char * +const char * regionid(const region * r) { char *buf = idbuf[(++nextbuf) % 8]; @@ -1461,7 +1460,7 @@ largestbuilding (const region * r, boolean img) return best; } -char * +const char * unitname(const unit * u) { char *ubuf = idbuf[(++nextbuf) % 8]; @@ -1844,25 +1843,18 @@ init_tokens(void) } } -extern void render_cleanup(void); - void kernel_done(void) { /* calling this function releases memory assigned to static variables, etc. * calling it is optional, e.g. a release server will most likely not do it. */ -#ifdef OLD_MESSAGES - render_cleanup(); -#else translation_done(); -#endif skill_done(); gc_done(); } extern void attrib_init(void); -extern void render_init(void); void read_strings(FILE * F) @@ -1894,12 +1886,8 @@ kernel_init(void) init_tokens(); skill_init(); attrib_init(); - init_locales(); -#ifdef OLD_MESSAGES - render_init(); -#else translation_init(); -#endif + if (!turn) turn = lastturn(); if (turn == 0) srand(time((time_t *) NULL)); @@ -2238,7 +2226,7 @@ besieged(const unit * u) { /* belagert kann man in schiffen und burgen werden */ return (u - && u->building + && u->building && u->building->besieged && u->building->besieged >= u->building->size * SIEGEFACTOR); } @@ -2550,6 +2538,7 @@ move_blocked(const unit * u, const region *r, direction_t dir) void add_income(unit * u, int type, int want, int qty) { + if (want==INT_MAX) want = qty; add_message(&u->faction->msgs, new_message(u->faction, "income%u:unit%r:region%i:mode%i:wanted%i:amount", u, u->region, type, want, qty)); } diff --git a/src/common/kernel/eressea.h b/src/common/kernel/eressea.h index 726581874..c5232ec9b 100644 --- a/src/common/kernel/eressea.h +++ b/src/common/kernel/eressea.h @@ -21,22 +21,9 @@ #ifndef ERESSEA_H #define ERESSEA_H -#ifndef NEW_MESSAGES -#define MSG_LEVELS /* msg-levels wieder aktiviert */ -#define OLD_MESSAGES -#define message_type messagetype -#define message_list message -#define report_section message -#else -#undef MSG_LEVELS -#endif - -#ifndef NEW_MESSAGES -#define OLD_MESSAGES -#define message_type messagetype -#define message_list message -#define report_section message -#endif +#define AT_MOVED +#undef MSG_LEVELS /* msg-levels wieder aktiviert */ +#undef OLD_MESSAGES /* basic types used in the eressea "kernel" */ typedef unsigned char order_t; @@ -795,8 +782,6 @@ enum { extern vmap region_map; -#define unused(var) var = var - #define i2b(i) ((boolean)((i)?(true):(false))) typedef struct ally { @@ -994,11 +979,9 @@ struct region *findunitregion(const struct unit * su); char *estring(const char *s); char *cstring(const char *s); -char *factionname(const struct faction * f); -char *regionid(const struct region * r); -char *unitname(const struct unit * u); +const char *regionid(const struct region * r); +const char *unitname(const struct unit * u); char *xunitid(const struct unit * u); -char *shipname(const struct ship * sh); struct building *largestbuilding(const struct region * r, boolean img); diff --git a/src/common/kernel/faction.c b/src/common/kernel/faction.c index 462a440fc..17880b0d1 100644 --- a/src/common/kernel/faction.c +++ b/src/common/kernel/faction.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: faction.c,v 1.2 2001/01/26 16:19:39 enno Exp $ + * $Id: faction.c,v 1.3 2001/04/12 17:21:44 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -21,7 +21,7 @@ /* libc includes */ #include <stdio.h> -char * +const char * factionname(const faction * f) { typedef char name[OBJECTIDSIZE + 1]; diff --git a/src/common/kernel/faction.h b/src/common/kernel/faction.h index c7f2e059c..f937dedb6 100644 --- a/src/common/kernel/faction.h +++ b/src/common/kernel/faction.h @@ -50,7 +50,6 @@ typedef struct faction { int number; /* enno: unterschied zu num_people ? */ int money; int score; - short index; /* F�r die Reportgenerierung - enno: wirklich n�tig? */ #ifndef FAST_REGION vset regions; #endif @@ -64,7 +63,7 @@ typedef struct faction { } * battles; } faction; -extern char * factionname(const struct faction * f); +extern const char * factionname(const struct faction * f); extern void * resolve_faction(void * data); #endif diff --git a/src/common/kernel/karma.c b/src/common/kernel/karma.c index 59a7025f4..1d69b4d27 100644 --- a/src/common/kernel/karma.c +++ b/src/common/kernel/karma.c @@ -250,6 +250,16 @@ struct fspecialdata fspecials[MAXFACTIONSPECIALS] = { "verlieren jedoch ihre F�higkeit zur Regeneration erlittenen Schadens " "komplett.", 100 + }, + { /* TODO: Namen �ndern */ + "Schnell", + "Ein solches Volk ist sehr athletisch und die Kinder �ben besonders " + "den Langstreckenlauf von kleinauf. Nach jahrelangem Training sind " + "sie dann in der Lage, sich zu Fu� so schnell zu bewegen als w�rden " + "sie reiten. Allerdings hat das jahrelange Konditionstraining ihre " + "Kr�fte schwinden lassen, und ihre Tragkraft ist um 2 Gewichtseinheiten " + "verringert.", + 1 } }; diff --git a/src/common/kernel/karma.h b/src/common/kernel/karma.h index 40f83b670..be2bec8b3 100644 --- a/src/common/kernel/karma.h +++ b/src/common/kernel/karma.h @@ -34,6 +34,7 @@ typedef enum { FS_VARIEDMAGIC, FS_JIHAD, FS_UNDEAD, + FS_QUICK, MAXFACTIONSPECIALS } fspecial_t; diff --git a/src/common/kernel/message.c b/src/common/kernel/message.c index 647aaecba..909da7805 100644 --- a/src/common/kernel/message.c +++ b/src/common/kernel/message.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: message.c,v 1.11 2001/03/01 01:38:12 enno Exp $ + * $Id: message.c,v 1.12 2001/04/12 17:21:44 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -19,11 +19,6 @@ * permission from the authors. */ -/** defines: - * - * NEW_MESSAGES - new message-classes - * - */ #include <config.h> #include "eressea.h" #include "message.h" @@ -38,11 +33,9 @@ /* util includes */ #include <goodies.h> #include <base36.h> -#ifdef NEW_MESSAGES #include <message.h> #include <nrmessage.h> #include <crmessage.h> -#endif /* libc includes */ #include <stddef.h> @@ -129,7 +122,163 @@ translate_regions(const char *st, faction * f) return s; } -#ifdef NEW_MESSAGES +#include <xml.h> + +typedef struct xml_state { + const char * mtname; + const message_type * mtype; + int argc; + char * argv[32]; + struct locale * lang; + const char * nrsection; + int nrlevel; + char * nrtext; +} xml_state; + +static int +parse_plaintext(const struct xml_stack *stack, const char *str, void *data) +{ + xml_state * state = (xml_state*)data; + if (stack) { + const xml_tag * tag = stack->tag; + if (strcmp(tag->name, "text")==0) { + state->nrtext = strdup(str); + } + } + return XML_OK; +} + +static int +parse_tagbegin(const struct xml_stack *stack, void *data) +{ + xml_state * state = (xml_state*)data; + const xml_tag * tag = stack->tag; + if (strcmp(tag->name, "messages")==0) { + memset(state, 0, sizeof(xml_state)); + return XML_OK; + } else if (strcmp(tag->name, "message")==0) { + const char * tname = xml_value(tag, "name"); + state->argc = 0; + if (tname) { + state->mtname = tname; + return XML_OK; + } + else state->mtname = NULL; + } else if (strcasecmp(tag->name, "arg")==0) { + if (state->mtname!=NULL) { + const char * zName = xml_value(tag, "name"); + const char * zType = xml_value(tag, "type"); + if (zName && zType) { + char zBuffer[128]; + sprintf(zBuffer, "%s:%s", zName, zType); + state->argv[state->argc++] = strdup(zBuffer); + return XML_OK; + } + } + } else if (strcasecmp(tag->name, "locale")==0) { + if (state->mtname!=NULL) { + const char * zName = xml_value(tag, "name"); + if (zName) { + state->lang = find_locale(zName); + } + } + } else if (strcasecmp(tag->name, "nr")==0) { + if (state->mtname!=NULL) { + const char * zSection = xml_value(tag, "section"); + const char * zLevel = xml_value(tag, "level"); + if (zSection) { + state->nrsection = zSection; + mc_add(zSection); + } + if (zLevel) state->nrlevel = atoi(zLevel); + } + } + return XML_USERERROR; +} + +static int +parse_tagend(const struct xml_stack *stack, void *data) +{ + xml_state * state = (xml_state*)data; + const xml_tag * tag = stack->tag; + + if (strcasecmp(tag->name, "type")==0) { + const struct message_type * mtype; + + state->argv[state->argc]=0; + + /* add the messagetype */ + mtype = mt_find(state->mtname); + if (!mtype) mtype = mt_register(mt_new(state->mtname, state->argv)); + + while (state->argc--) { + free(state->argv[state->argc]); + } + if (state->nrtext) { + free(state->nrtext); + state->nrtext = 0; + } + state->mtype = mtype; + } else if (strcasecmp(tag->name, "locale")==0) { + crt_register(state->mtype); + state->lang = NULL; + } else if (strcasecmp(tag->name, "nr")==0) { + nrt_register(state->mtype, state->lang, state->nrtext, state->nrlevel, state->nrsection); + state->nrsection = NULL; + } + return XML_OK; +} + +static xml_callbacks msgcallback = { + parse_plaintext, + parse_tagbegin, + parse_tagend, + NULL +}; + +void +read_messages(FILE * F, const locale * lang) +{ + xml_state state; + xml_parse(F, &msgcallback, &state); + + unused(lang); +} + +message * +make_message(const char * name, const char* sig, ...) + /* make_message("oops_error", "unit region command", u, r, cmd) */ +{ + int i; + va_list marker; + const message_type * mtype = mt_find(name); + char buffer[64], *oc = buffer; + const char *ic = sig; + void * args[16]; + memset(args, 0, sizeof(args)); + + if (!mtype) { + fprintf(stderr, "trying to create message of unknown type \"%s\"\n", name); + return NULL; + } + + va_start(marker, sig); + while (*ic && !isalnum(*ic)) ic++; + while (*ic) { + void * v = va_arg(marker, void *); + while (isalnum(*ic)) *oc++ = *ic++; + *oc = '\0'; + for (i=0;i!=mtype->nparameters;++i) { + if (!strcmp(buffer, mtype->pnames[i])) break; + } + if (i!=mtype->nparameters) args[i] = v; + while (*ic && !isalnum(*ic)) ic++; + } + va_end(marker); + + return msg_create(mtype, (void**)args); +} + message * new_message(struct faction * receiver, const char* sig, ...) /* compatibility function, to keep the old function calls valid * @@ -143,7 +292,7 @@ new_message(struct faction * receiver, const char* sig, ...) char buffer[128]; int i=0; const char * c = sig; - const char * args[16]; + void * args[16]; memset(args, 0, sizeof(args)); strncpy(buffer, sig, signature-sig); @@ -190,151 +339,47 @@ new_message(struct faction * receiver, const char* sig, ...) } switch(type) { case 's': - args[i] = va_arg(marker, const char *); + args[i] = (void*)va_arg(marker, const char *); break; case 'i': - args[i] = strdup(itoa10(va_arg(marker, int))); + args[i] = (void*)va_arg(marker, int); break; case 'f': - args[i] = factionname(va_arg(marker, const struct faction*)); + args[i] = (void*)va_arg(marker, const struct faction*); + break; + case 'u': + args[i] = (void*)va_arg(marker, const struct unit*); + break; + case 'r': + args[i] = (void*)va_arg(marker, const struct region*); + break; + case 'h': + args[i] = (void*)va_arg(marker, const struct ship*); + break; + case 'b': + args[i] = (void*)va_arg(marker, const struct building*); break; - case 'u': { - const struct unit * u = va_arg(marker, const struct unit*); - if (u) args[i] = unitname(u); - } - break; - case 'r': { - const struct region * r = va_arg(marker, const struct region*); - if (r) args[i] = rname(r, receiver->locale); - } - break; - case 'h': { - const struct ship * sh = va_arg(marker, const struct ship*); - if (sh) args[i] = shipname(sh); - } - break; - case 'b': { - const struct building * b = va_arg(marker, const struct building*); - if (b) args[i] = buildingname(b); - } - break; case 'X': - args[i] = resourcename(va_arg(marker, const resource_type *), 0); + args[i] = (void*)va_arg(marker, const resource_type *); break; case 'x': - args[i] = resourcename(oldresourcetype[(resource_t)va_arg(marker, resource_t)], 0); + args[i] = (void*)oldresourcetype[(resource_t)va_arg(marker, resource_t)]; break; case 't': - args[i] = skillnames[va_arg(marker, skill_t)]; + args[i] = (void*)va_arg(marker, skill_t); break; case 'd': - args[i] = directions[i]; + args[i] = (void*)directions[i]; break; case 'S': default: args[i] = NULL; } } + va_end(marker); return msg_create(mtype, (void**)args); } -static void -parse_message(char * b, const struct locale * deflocale) -{ - char *m, *a = NULL, message[8192]; - char * name; - char * language; - const struct locale * lang; - char * section = NULL; - int i, level = 0; - char * args[16]; - boolean f_symbol = false; - const struct message_type * mtype; - - /* skip comments */ - if (b[0]=='#' || b[0]==0) return; - - /* the name of this type */ - name = b; - while (*b && *b!=';') ++b; - if (!*b) return; - *b++ = 0; - - /* the section for this type */ - section = b; - while (*b && *b!=';' && *b!=':') ++b; - if (!strcmp(section, "none")) section=NULL; - - /* if available, the level for this type */ - if (*b==':') { - char * x; - *b++ = 0; - x = b; - while (*b && *b!=';') ++b; - level=atoi(x); - } - *b++ = 0; - - /* the locale */ - language = b; - while (*b && *b!=';') ++b; - *b++ = 0; - if (strlen(language)==0) lang = deflocale; - else { - lang = find_locale(language); - if (!lang) lang = make_locale(language); - } - /* parse the message */ - i = 0; - m = message; - *m++='\"'; - while (*b) { - switch (*b) { - case '{': - f_symbol = true; - a = ++b; - break; - case '}': - *b++ = '\0'; - args[i] = strdup(a); - sprintf(m, "$%s", args[i]); - m+=strlen(m); - i++; - f_symbol = false; - break; - case ' ': - if (f_symbol) { - a = ++b; - break; - } - /* fall-through intended */ - default: - if (!f_symbol) { - *m++ = *b++; - } else b++; - } - } - strcpy(m, "\""); - args[i] = NULL; - - /* add the messagetype */ - mtype = mt_register(mt_new(name, (const char**)args)); - nrt_register(mtype, lang, message, level, section); - crt_register(mtype, lang); -} - -void -read_messages(FILE * F, const struct locale * lang) -{ - char buf[8192]; - while (fgets(buf, sizeof(buf), F)) { - buf[strlen(buf)-1] = 0; /* \n weg */ - parse_message(buf, lang); - } -} - -#endif - void addmessage(region * r, faction * f, const char *s, msg_t mtype, int level) { @@ -385,9 +430,6 @@ caddmessage(region * r, faction * f, char *s, msg_t mtype, int level) default: fprintf(stderr, "Warnung: Ung�ltige Msg-Klasse!"); } -#ifdef OLD_MESSAGES - if (m) m->level = level; -#endif } void @@ -403,8 +445,8 @@ cmistake(const unit * u, const char *cmd, int mno, int mtype) static char lbuf[64]; if (u->faction->no == MONSTER_FACTION) return; sprintf(lbuf, "error%d", mno); - strcat(lbuf, "%s:command%i:errno%u:unit%r:region"); - add_message(&u->faction->msgs, new_message(u->faction, lbuf, cmd, mno, u, u->region)); + strcat(lbuf, "%s:command%u:unit%r:region"); + add_message(&u->faction->msgs, new_message(u->faction, lbuf, cmd, u, u->region)); } void @@ -428,182 +470,6 @@ old_hashstring(const char* s) return key & 0x7fff; } - -#ifdef OLD_MESSAGES -static messagetype * messagetypes; - -void -debug_messagetypes(FILE * out) -{ - messagetype * mt; - for (mt=messagetypes;mt;mt=mt->next) { - fprintf(out, "%ut%u\n", old_hashstring(mt->name), mt->hashkey); - } -} - -messagetype * -new_messagetype(const char * name, int level, const char * section) -{ - messagetype * mt = calloc(1, sizeof(messagetype)); - mt->section = mc_add(section); - mt->name = strdup(name); - mt->level = level; - mt->hashkey = hashstring(mt->name); -#ifndef NDEBUG - { - messagetype * mt2 = messagetypes; - while(mt2 && mt2->hashkey != mt->hashkey) mt2 = mt2->next; - if (mt2) { - fprintf(stderr, "duplicate hashkey %u for messagetype %s and %s\n", - mt->hashkey, name, mt2->name); - } - } -#endif - mt->next = messagetypes; - messagetypes = mt; - return mt; -} - -void -add_signature(messagetype * mt, const char * sig) -{ - static char buffer[128]; - int i=0; - struct entry ** ep = &mt->entries; - const char * c = sig; - - if (mt->entries) return; - while(*c!='%') buffer[i++] = *(c++); - buffer[i] = 0; - - while (*c) { - char *p = buffer; - assert(*c=='%'); - *ep = calloc(1, sizeof(struct entry)); - switch (*(++c)) { - case 'f': (*ep)->type = IT_FACTION; break; - case 'u': (*ep)->type = IT_UNIT; break; - case 'r': (*ep)->type = IT_REGION; break; - case 'h': (*ep)->type = IT_SHIP; break; - case 'b': (*ep)->type = IT_BUILDING; break; - case 'X': (*ep)->type = IT_RESOURCETYPE; break; - case 'x': (*ep)->type = IT_RESOURCE; break; - case 't': (*ep)->type = IT_SKILL; break; - case 's': (*ep)->type = IT_STRING; break; - case 'i': (*ep)->type = IT_INT; break; - case 'd': (*ep)->type = IT_DIRECTION; break; - case 'S': (*ep)->type = IT_FSPECIAL; break; - } - ++c; - assert(*c==':'); - ++c; - while (*c && isalnum((int)*c)) - *(p++) = *(c++); - *p = 0; - (*ep)->name = strdup(buffer); - ep = &(*ep)->next; - ++mt->argc; - } -} - -messagetype * -find_messagetype(const char * name) -{ - messagetype * mt = messagetypes; - while(mt && strcmp(mt->name, name)!=0) mt = mt->next; - return mt; -} - -message * -new_message(struct faction * receiver, const char* sig, ...) -{ - message * m = (message*)calloc(1, sizeof(message)); - messagetype * mt; - struct entry * e; - va_list marker; - int i; - unit * u; - const char * signature = strchr(sig, '%'); - char name[64]; - - assert(signature-sig<64); - memcpy(name, sig, signature-sig); - name[signature-sig] = 0; - - mt = find_messagetype(name); - if (!mt) { - fprintf(stderr, "unknown message %s\n", name); - return NULL; - } - if (mt->entries==NULL) add_signature(mt, signature); - m->receiver = receiver; - m->type = mt; - m->data = calloc(mt->argc, sizeof(void*)); - m->level = mt->level; - e = mt->entries; - - va_start(marker, sig); - for (i=0;i!=mt->argc;++i) { - switch (e->type) { - case IT_INT: - m->data[i] = (void*)va_arg(marker, int); - break; - case IT_RESOURCETYPE: - m->data[i] = (void*)va_arg(marker, const resource_type *); - break; - case IT_RESOURCE: - m->data[i] = (void*)oldresourcetype[(resource_t)va_arg(marker, resource_t)]; - break; - case IT_UNIT: - u = (unit*)va_arg(marker, void*); - /* TODO: Ergibt keine richtige Grammatik */ - if (u == NULL) - m->data[i] = NULL; - else { - m->data[i] = u; - } -#if 0 - if (u && (!receiver || cansee(receiver, u->region, u, 0))) - m->data[i] = u; - else - m->data[i] = NULL; -#endif - break; - default: - m->data[i] = va_arg(marker, void*); - break; - } - e = e->next; - } - assert(!e); - va_end(marker); - return m; -} - -int -get_msglevel(const struct warning * warnings, const msglevel * levels, const messagetype * mtype) -{ -#ifdef MSG_LEVELS - /* hier ist ein bug drin, irgendwo */ - const struct warning * w = warnings; - while (levels && levels->type!=mtype) levels=levels->next; - if (levels) return levels->level; - while (w) { - if (w->section == mtype->section) break; - w = w->next; - } - if (w) return w->level; -#endif - return 0x7F; -} - -int -msg_level(const message * m) -{ - return m->level; -} -#endif - void set_msglevel(struct warning ** warnings, const char * type, int level) { @@ -629,7 +495,6 @@ message * add_message(message_list** pm, message * m) { if (m==NULL) return NULL; -#ifdef NEW_MESSAGES else { struct mlist * mnew = malloc(sizeof(struct mlist)); if (*pm==NULL) { @@ -641,31 +506,18 @@ add_message(message_list** pm, message * m) *((*pm)->end) = mnew; (*pm)->end=&mnew->next; } -#else - m->next = *pm; - *pm = m; -#endif return m; } void free_messages(message_list * m) { -#ifdef NEW_MESSAGES struct mlist * x = m->begin; while (x) { m->begin = x->next; msg_free(x->msg); free(x); } -#else - while (m) { - message_list * x = m; - m = x->next; - free(x->data); - free(x); - } -#endif } messageclass * msgclasses; diff --git a/src/common/kernel/message.h b/src/common/kernel/message.h index 8371647e6..dc0aab235 100644 --- a/src/common/kernel/message.h +++ b/src/common/kernel/message.h @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: message.h,v 1.4 2001/02/24 12:50:48 enno Exp $ + * $Id: message.h,v 1.5 2001/04/12 17:21:44 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -23,7 +23,6 @@ struct messageclass; struct warning; struct msglevel; -#ifdef NEW_MESSAGES struct message_type; typedef struct message_list { @@ -33,56 +32,6 @@ typedef struct message_list { } * begin, **end; } message_list; -#else /* NEW_MESSAGES */ - -typedef struct messagetype -{ - struct messagetype * next; - const struct messageclass * section; - int level; - char * name; - int argc; - struct entry { - struct entry * next; - enum { - IT_FACTION, - IT_UNIT, - IT_REGION, - IT_SHIP, - IT_BUILDING, -#ifdef NEW_ITEMS - IT_RESOURCETYPE, -#endif - IT_RESOURCE, - IT_SKILL, - IT_INT, - IT_STRING, - IT_DIRECTION, - IT_FSPECIAL - } type; - char * name; - } * entries; - unsigned int hashkey; -} messagetype; - -extern struct messagetype * find_messagetype(const char * name); -extern struct messagetype * new_messagetype(const char * name, int level, const char * section); - -typedef struct message { - struct message * next; - struct messagetype * type; - void ** data; - void * receiver; - int level; -} message; - -extern int msg_level(const struct message * msg); - -int get_msglevel(const struct warning * warnings, const struct msglevel * levels, const struct messagetype * mtype); - -void debug_messagetypes(FILE * out); -#endif /* NEW_MESSAGES */ - typedef struct messageclass { struct messageclass * next; @@ -100,8 +49,9 @@ void write_msglevels(struct warning * warnings, FILE * F); void read_msglevels(struct warning ** w, FILE * F); void set_msglevel(struct warning ** warnings, const char * type, int level); +extern struct message * make_message(const char * name, const char* sig, ...); extern struct message * new_message(struct faction * receiver, const char * signature, ...); -extern struct message* add_message(struct message_list** pm, struct message* m); +extern struct message * add_message(struct message_list** pm, struct message * m); extern void free_messages(struct message_list * m); extern void read_messages(FILE * F, const struct locale * lang); diff --git a/src/common/kernel/movement.c b/src/common/kernel/movement.c index b9a70eca5..965ec26d9 100644 --- a/src/common/kernel/movement.c +++ b/src/common/kernel/movement.c @@ -1,6 +1,5 @@ /* vi: set ts=2: * - * $Id: movement.c,v 1.17 2001/04/08 17:36:48 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -141,6 +140,18 @@ static attrib_type at_driveweight = { "driveweight", NULL, NULL, NULL, NULL, NULL }; +int +personcapacity(unit *u) +{ + int cap = race[u->race].weight+540; + + if(fspecial(u->faction, FS_QUICK)) { + cap -= 2000; + } + + return cap; +} + static int eff_weight(const unit *u) { @@ -212,15 +223,8 @@ walkingcapacity(unit * u) } n += pferde * HORSECAPACITY; - - if (u->race == RC_TROLL) { - n += personen * PERSONCAPACITY(u) * 2; - } else { - n += personen * PERSONCAPACITY(u); - } - - n += get_effect(u, oldpotiontype[P_STRONG]) * PERSONCAPACITY(u); - + n += personen * personcapacity(u); + n += get_effect(u, oldpotiontype[P_STRONG]) * personcapacity(u); n += min(get_item(u, I_TROLLBELT), u->number) * STRENGTHCAPACITY; return n; @@ -883,7 +887,6 @@ travel(region * first, unit * u, region * next, int flucht) char buf2[80]; static direction_t route[MAXSPEED]; - /* tech: * * zu Fu� reist man 1 Region, zu Pferd 2 Regionen. Mit Stra�en reist @@ -956,9 +959,16 @@ travel(region * first, unit * u, region * next, int flucht) default: { int mp = 1; - if (get_effect(u, oldpotiontype[P_FAST]) >= u->number) - mp *= 2; /* Siebenmeilentee */ + /* faction special */ + if(fspecial(u->faction, FS_QUICK)) + mp = BP_RIDING; + + /* Siebenmeilentee */ + if (get_effect(u, oldpotiontype[P_FAST]) >= u->number) + mp *= 2; + + /* unicorn in inventory */ if (u->number <= get_item(u, I_FEENSTIEFEL)) mp *= 2; @@ -1128,7 +1138,7 @@ travel(region * first, unit * u, region * next, int flucht) travelthru(u, rv[i]); sprintf(buf2, trailinto(rv[i], u->faction->locale), - tregionid(rv[i], u->faction)); + regionname(rv[i], u->faction)); scat(buf2); } } @@ -1334,9 +1344,7 @@ sail(region * starting_point, unit * u, region * next_point, boolean move_on_lan return NULL; /* Wir suchen so lange nach neuen Richtungen, wie es geht. Diese werden - * dann nacheinander ausgef�hrt. - * Im array rv[] speichern wir die K�stenregionen ab, durch die wir - * segeln (geht nur bei Halbinseln). */ + * dann nacheinander ausgef�hrt. */ k = shipspeed(u->ship, u); @@ -1518,7 +1526,7 @@ sail(region * starting_point, unit * u, region * next_point, boolean move_on_lan } } - if (starting_point != current_point) { + if (u->ship->moved) { ship * sh = u->ship; sh->moved = 1; sprintf(buf, "Die %s ", shipname(sh)); @@ -1567,64 +1575,67 @@ sail(region * starting_point, unit * u, region * next_point, boolean move_on_lan /* Das Schiff und alle Einheiten darin werden nun von * starting_point nach current_point verschoben */ - tt[t - 1] = 0; - sh = move_ship(sh, starting_point, current_point, tt); /* Verfolgungen melden */ if (fval(u, FL_FOLLOWING)) caught_target(current_point, u); - /* Hafengeb�hren ? */ + if (starting_point != current_point) { + tt[t - 1] = 0; + sh = move_ship(sh, starting_point, current_point, tt); - hafenmeister = owner_buildingtyp(current_point, &bt_harbour); - if (sh && hafenmeister != NULL) { - item * itm; - assert(trans==NULL); - for (u2 = current_point->units; u2; u2 = u2->next) { - if (u2->ship == u->ship && - !allied(hafenmeister, u->faction, HELP_GUARD)) { + /* Hafengeb�hren ? */ + + hafenmeister = owner_buildingtyp(current_point, &bt_harbour); + if (sh && hafenmeister != NULL) { + item * itm; + assert(trans==NULL); + for (u2 = current_point->units; u2; u2 = u2->next) { + if (u2->ship == u->ship && + !allied(hafenmeister, u->faction, HELP_GUARD)) { - if (effskill(hafenmeister, SK_OBSERVATION) > effskill(u2, SK_STEALTH)) { - for (itm=u2->items; itm; itm=itm->next) { - const luxury_type * ltype = resource2luxury(itm->type->rtype); - if (ltype!=NULL && itm->number>0) { - st = itm->number * effskill(hafenmeister, SK_TRADE) / 50; - st = min(itm->number, st); + if (effskill(hafenmeister, SK_OBSERVATION) > effskill(u2, SK_STEALTH)) { + for (itm=u2->items; itm; itm=itm->next) { + const luxury_type * ltype = resource2luxury(itm->type->rtype); + if (ltype!=NULL && itm->number>0) { + st = itm->number * effskill(hafenmeister, SK_TRADE) / 50; + st = min(itm->number, st); - if (st > 0) { - i_change(&u2->items, itm->type, -st); - i_change(&hafenmeister->items, itm->type, st); - i_add(&trans, i_new(itm->type)); + if (st > 0) { + i_change(&u2->items, itm->type, -st); + i_change(&hafenmeister->items, itm->type, st); + i_add(&trans, i_new(itm->type)); + } } } } } } - } - if (trans) { - sprintf(buf, "%s erhielt ", hafenmeister->name); - for (itm = trans; itm; itm=itm->next) { - if (first != 1) { - if (itm->next!=NULL && itm->next->next==NULL) { - scat(" und "); + if (trans) { + sprintf(buf, "%s erhielt ", hafenmeister->name); + for (itm = trans; itm; itm=itm->next) { + if (first != 1) { + if (itm->next!=NULL && itm->next->next==NULL) { + scat(" und "); + } else { + scat(", "); + } + } + first = 0; + icat(trans->number); + scat(" "); + if (itm->number == 1) { + scat(locale_string(NULL, resourcename(itm->type->rtype, 0))); } else { - scat(", "); + scat(locale_string(NULL, resourcename(itm->type->rtype, NMF_PLURAL))); } } - first = 0; - icat(trans->number); - scat(" "); - if (itm->number == 1) { - scat(locale_string(NULL, resourcename(itm->type->rtype, 0))); - } else { - scat(locale_string(NULL, resourcename(itm->type->rtype, NMF_PLURAL))); - } + scat(" von der "); + scat(shipname(u->ship)); + scat("."); + addmessage(0, u->faction, buf, MSG_COMMERCE, ML_INFO); + addmessage(0, hafenmeister->faction, buf, MSG_INCOME, ML_INFO); + while (trans) i_remove(&trans, trans); } - scat(" von der "); - scat(shipname(u->ship)); - scat("."); - addmessage(0, u->faction, buf, MSG_COMMERCE, ML_INFO); - addmessage(0, hafenmeister->faction, buf, MSG_INCOME, ML_INFO); - while (trans) i_remove(&trans, trans); } } } diff --git a/src/common/kernel/movement.h b/src/common/kernel/movement.h index aa42f5d15..7efafeec2 100644 --- a/src/common/kernel/movement.h +++ b/src/common/kernel/movement.h @@ -1,6 +1,5 @@ /* vi: set ts=2: * - * $Id: movement.h,v 1.4 2001/03/04 18:41:25 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -28,16 +27,10 @@ struct ship; #define SCALEWEIGHT 100 /* Faktor, um den die Anzeige von gewichten * * skaliert wird */ -#define INC_CAPACITIES 0 -#if INC_CAPACITIES -#define PERSONCAPACITY(u) (race[(u)->race].weight+600) -#define HORSECAPACITY 7700 -#define WAGONCAPACITY 15400 -#else -#define PERSONCAPACITY(u) (race[(u)->race].weight+540) +extern int personcapacity(struct unit *u); + #define HORSECAPACITY 7000 #define WAGONCAPACITY 14000 -#endif #define HORSESNEEDED 2 @@ -59,7 +52,7 @@ extern struct ship * move_ship(struct ship * sh, struct region * from, struct re extern attrib_type at_piracy_direction; -void follow(void); +extern void follow(void); struct building_type; boolean buildingtype_exists(const struct region * r, const struct building_type * bt); diff --git a/src/common/kernel/plane.h b/src/common/kernel/plane.h index a46ea7e24..e081e1a5b 100644 --- a/src/common/kernel/plane.h +++ b/src/common/kernel/plane.h @@ -1,6 +1,5 @@ /* vi: set ts=2: * - * $Id: plane.h,v 1.5 2001/04/01 06:58:40 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -22,19 +21,20 @@ #ifndef PLANES_H #define PLANES_H -#define PFL_NOCOORDS 1 -#define PFL_NORECRUITS 2 -#define PFL_NOALLIANCES 4 -#define PFL_LOWSTEALING 8 -#define PFL_NOGIVE 16 /* �bergaben sind unm�glich */ -#define PFL_NOATTACK 32 /* Angriffe und Diebst�hle sind unm�glich */ -#define PFL_NOTERRAIN 64 /* Terraintyp wird nicht angezeigt TODO? */ -#define PFL_NOMAGIC 128 /* Zaubern ist unm�glich */ -#define PFL_NOSTEALTH 256 /* Tarnung au�er Betrieb */ -#define PFL_NOTEACH 512 /* Lehre au�er Betrieb */ -#define PFL_NOBUILD 1024 /* Lehre au�er Betrieb */ -#define PFL_NOFEED 2048 /* Kein Unterhalt n�tig TODO */ -#define PFL_FRIENDLY 4096 /* everyone is your ally */ +#define PFL_NOCOORDS 1 +#define PFL_NORECRUITS 2 +#define PFL_NOALLIANCES 4 +#define PFL_LOWSTEALING 8 +#define PFL_NOGIVE 16 /* �bergaben sind unm�glich */ +#define PFL_NOATTACK 32 /* Angriffe und Diebst�hle sind unm�glich */ +#define PFL_NOTERRAIN 64 /* Terraintyp wird nicht angezeigt TODO? */ +#define PFL_NOMAGIC 128 /* Zaubern ist unm�glich */ +#define PFL_NOSTEALTH 256 /* Tarnung au�er Betrieb */ +#define PFL_NOTEACH 512 /* Lehre au�er Betrieb */ +#define PFL_NOBUILD 1024 /* Lehre au�er Betrieb */ +#define PFL_NOFEED 2048 /* Kein Unterhalt n�tig TODO */ +#define PFL_FRIENDLY 4096 /* everyone is your ally */ +#define PFL_NOORCGROWTH 8192 /* orcs don't grow */ #define PFL_MUSEUM PFL_NOCOORDS | PFL_NORECRUITS | PFL_NOGIVE | PFL_NOATTACK | PFL_NOTERRAIN | PFL_NOMAGIC | PFL_NOSTEALTH | PFL_NOTEACH | PFL_NOBUILD | PFL_NOFEED diff --git a/src/common/kernel/race.c b/src/common/kernel/race.c index c12be98c2..ce42cd7c2 100644 --- a/src/common/kernel/race.c +++ b/src/common/kernel/race.c @@ -580,7 +580,7 @@ struct racedata race[MAXRACES] = true, RCF_KILLPEASANTS|RCF_SCAREPEASANTS|RCF_ATTACKRANDOM|RCF_MOVERANDOM|RCF_LEARN|RCF_WALK|RCF_NOTEACH|RCF_DESERT, BF_MAGIC_EQUIPMENT, - 0, + ECF_REC_ETHEREAL, {NORACE,NORACE,NORACE,NORACE,NORACE,NORACE}, &shadow_name, NULL, }, @@ -1150,7 +1150,7 @@ struct racedata race[MAXRACES] = BF_EQUIPMENT | BF_MAGIC_EQUIPMENT, /* Economic-Flags */ - GIVEITEM | GIVEPERSON | GIVEUNIT | GETITEM | REC_HORSES, + GIVEITEM | GIVEPERSON | GIVEUNIT | GETITEM | ECF_REC_HORSES, /* Vertraute f�r den Zauber (Generisch, Illaun, Tybied, Cerddor, Gwyrrd, Draig) */ @@ -1793,9 +1793,9 @@ struct racedata race[MAXRACES] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, true, /* Nonplayer (bei Gelegenheit entfernen) */ - (RCF_SHAPESHIFT | RCF_FLY | RCF_WALK | RCF_LEARN | RCF_MOVERANDOM | RCF_ATTACKRANDOM), /* flags */ + (RCF_SHAPESHIFTANY | RCF_SHAPESHIFT | RCF_FLY | RCF_WALK | RCF_LEARN | RCF_MOVERANDOM | RCF_ATTACKRANDOM), /* flags */ (BF_EQUIPMENT | BF_MAGIC_EQUIPMENT), /* battle */ - (CANGUARD | GIVEITEM | GIVEPERSON | GIVEUNIT | GETITEM), /* economy */ + (ECF_REC_ETHEREAL | ECF_REC_UNLIMITED | CANGUARD | GIVEITEM | GIVEPERSON | GIVEUNIT | GETITEM), /* economy */ /* Vertraute f�r den Zauber (Gen, Ill, Tyb, Cer, Gwy, Dra) */ {NORACE,NORACE,NORACE,NORACE,NORACE,NORACE} } @@ -1950,7 +1950,7 @@ boolean is_undead(const unit *u) || u->race == RC_GHOUL_LORD; } -extern void +extern void init_races(void) { a_add(&race[RC_TROLL].attribs, make_skillmod(NOSKILL, SMF_RIDING, NULL, 0.0, -1)); diff --git a/src/common/kernel/race.h b/src/common/kernel/race.h index f7fad161c..05388e696 100644 --- a/src/common/kernel/race.h +++ b/src/common/kernel/race.h @@ -97,6 +97,7 @@ typedef struct race_type { #define RCF_NOHEAL (1<<16) /* Einheit kann nicht geheilt werden */ #define RCF_NOWEAPONS (1<<17) /* Einheit kann keine Waffen bneutzen */ #define RCF_SHAPESHIFT (1<<18) /* Kann TARNE RASSE benutzen. */ +#define RCF_SHAPESHIFTANY (1<<19) /* Kann TARNE RASSE "string" benutzen. */ /* Economic flags */ #define NOGIVE (1<<0) /* gibt niemals nix */ @@ -106,7 +107,9 @@ typedef struct race_type { #define GETITEM (1<<4) /* nimmt Gegenst�nde an */ #define HOARDMONEY (1<<5) /* geben niemals Silber weg */ #define CANGUARD (1<<6) /* bewachen auch ohne Waffen */ -#define REC_HORSES (1<<7) /* Rekrutiert aus Pferden */ +#define ECF_REC_HORSES (1<<7) /* Rekrutiert aus Pferden */ +#define ECF_REC_ETHEREAL (1<<8) /* Rekrutiert aus dem Nichts */ +#define ECF_REC_UNLIMITED (1<<9) /* Rekrutiert ohne Limit */ /* Battle-Flags */ #define BF_EQUIPMENT (1<<0) diff --git a/src/common/kernel/region.c b/src/common/kernel/region.c index 59781eceb..63c8afe46 100644 --- a/src/common/kernel/region.c +++ b/src/common/kernel/region.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: region.c,v 1.9 2001/02/11 08:55:48 corwin Exp $ + * $Id: region.c,v 1.10 2001/04/12 17:21:44 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -65,7 +65,7 @@ const direction_t back[MAXDIRECTIONS] = }; const char * -tregionid(const region * r, const faction * f) +regionname(const region * r, const faction * f) { static char buf[65]; plane *pl = getplane(r); @@ -636,7 +636,7 @@ new_region(int x, int y) region *r = rfindhash(x, y); if (r) { - fprintf(stderr, "\ndoppelte regionen entdeckt: %s\n", tregionid(r, NULL)); + fprintf(stderr, "\ndoppelte regionen entdeckt: %s\n", regionname(r, NULL)); if (r->units) fprintf(stderr, "doppelte region enth�lt einheiten\n"); return r; diff --git a/src/common/kernel/region.h b/src/common/kernel/region.h index 457c419a3..ff0fb83b5 100644 --- a/src/common/kernel/region.h +++ b/src/common/kernel/region.h @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: region.h,v 1.5 2001/02/24 12:50:48 enno Exp $ + * $Id: region.h,v 1.6 2001/04/12 17:21:44 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -177,7 +177,7 @@ extern const char * rname(const struct region * r, const locale * lang); extern void r_setdemand(struct region * r, const struct luxury_type * ltype, int value); extern int r_demand(const struct region * r, const struct luxury_type * ltype); -extern const char * tregionid(const struct region * r, const struct faction * f); +extern const char * regionname(const struct region * r, const struct faction * f); extern void * resolve_region(void * data); extern struct region * new_region(int x, int y); extern void terraform(struct region * r, terrain_t terrain); diff --git a/src/common/kernel/reports.c b/src/common/kernel/reports.c index 4ebeb7ccf..2b80276d8 100644 --- a/src/common/kernel/reports.c +++ b/src/common/kernel/reports.c @@ -44,6 +44,7 @@ /* attributes includes */ #include <attributes/follow.h> +#include <attributes/racename.h> const char * g_reportdir; @@ -173,7 +174,7 @@ bufunit(const faction * f, const unit * u, int indent, int i, dh; skill_t sk; int getarnt = fval(u, FL_PARTEITARNUNG); - const char *c; + const char *pzTmp; spell *sp; building * b; boolean itemcloak = is_cursed(u->attribs, C_ITEMCLOAK, 0); @@ -213,8 +214,10 @@ bufunit(const faction * f, const unit * u, int indent, scat(" "); } - if (u->irace != u->race) { - scat(race[u->irace].name[u->number != 1]); + pzTmp = get_racename(u->attribs); + if (pzTmp || u->irace != u->race) { + if (pzTmp) scat(pzTmp); + else scat(race[u->irace].name[u->number != 1]); if (u->faction == f) { scat(" ("); scat(race[u->race].name[u->number != 1]); @@ -227,8 +230,8 @@ bufunit(const faction * f, const unit * u, int indent, /* status */ if (u->number && (u->faction == f || telepath_see || isbattle)) { + const char * c = hp_status(u); scat(report_kampfstatus(u)); - c = hp_status(u); if (c || fval(u, FL_HUNGER)) { scat(" ("); if(c) scat(c); @@ -391,10 +394,10 @@ bufunit(const faction * f, const unit * u, int indent, if (i != '!' && i != '?' && i != '.') scat("."); - c = uprivate(u); - if (u->faction == f && c) { + pzTmp = uprivate(u); + if (u->faction == f && pzTmp) { scat(" (Bem: "); - scat(c); + scat(pzTmp); scat(")"); } diff --git a/src/common/kernel/save.c b/src/common/kernel/save.c index efe72ef86..75b79d5e5 100644 --- a/src/common/kernel/save.c +++ b/src/common/kernel/save.c @@ -2159,7 +2159,7 @@ extern void create_teleport_plane(void); void read_strings(FILE * F); const char * messages[] = { - "%s/%s/messages.txt", + "%s/%s/messages.xml", NULL }; diff --git a/src/common/kernel/ship.c b/src/common/kernel/ship.c index 889e45217..f35e9ffab 100644 --- a/src/common/kernel/ship.c +++ b/src/common/kernel/ship.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: ship.c,v 1.3 2001/02/18 10:06:09 enno Exp $ + * $Id: ship.c,v 1.4 2001/04/12 17:21:44 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -257,7 +257,7 @@ destroy_ship(ship * s, region * r) handle_event(&s->attribs, "destroy", s); } -char * +const char * shipname(const ship * sh) { typedef char name[OBJECTIDSIZE + 1]; diff --git a/src/common/kernel/ship.h b/src/common/kernel/ship.h index 2d1a58774..f10400cd3 100644 --- a/src/common/kernel/ship.h +++ b/src/common/kernel/ship.h @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: ship.h,v 1.3 2001/02/18 10:06:09 enno Exp $ + * $Id: ship.h,v 1.4 2001/04/12 17:21:44 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -88,6 +88,6 @@ extern struct unit *captain(ship *sh, struct region *r); extern struct unit *shipowner(const struct region * r, const struct ship * sh); extern ship *new_ship(const struct ship_type * stype, struct region * r); -extern char *shipname(const struct ship * sh); +extern const char *shipname(const struct ship * sh); extern ship *findship(int n); #endif diff --git a/src/common/kernel/unit.c b/src/common/kernel/unit.c index 8e9f1137e..51bca283e 100644 --- a/src/common/kernel/unit.c +++ b/src/common/kernel/unit.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: unit.c,v 1.8 2001/02/19 16:45:23 katze Exp $ + * $Id: unit.c,v 1.9 2001/04/12 17:21:44 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -34,12 +34,16 @@ #include "region.h" #include "ship.h" +#ifdef AT_MOVED +# include <attributes/moved.h> +#endif + /* util includes */ #include <resolve.h> #include <base36.h> #include <event.h> #ifdef OLD_TRIGGER -#include <old/trigger.h> +# include <old/trigger.h> #endif /* libc includes */ @@ -649,6 +653,9 @@ move_unit(unit * u, region * r, unit ** ulist) if (u->region == r) return; if (!ulist) ulist = (&r->units); if (u->region) { +#ifdef AT_MOVED + set_moved(&u->attribs); +#endif setguard(u, GUARD_NONE); fset(u, FL_MOVED); if (u->ship || u->building) leave(u->region, u); diff --git a/src/common/modules/arena.c b/src/common/modules/arena.c index 525535509..aaab4dc5f 100644 --- a/src/common/modules/arena.c +++ b/src/common/modules/arena.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: arena.c,v 1.4 2001/02/11 20:54:01 enno Exp $ + * $Id: arena.c,v 1.5 2001/04/12 17:21:44 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -267,7 +267,7 @@ read_hurting(attrib * a, FILE * F) { fscanf(F, "%d", &i); a->data.v = (void*)findbuilding(i); if (a->data.v==NULL) { - fprintf(stderr, "WARNING: temple of pain is broken\n"); + log_error(("temple of pain is broken\n")); return 0; } return 1; @@ -434,7 +434,7 @@ caldera_handle(trigger * t, void * data) if (*up==u) up = &u->next; } } else - fprintf(stderr, "\aERROR: could not perform caldera::handle()\n"); + log_error(("could not perform caldera::handle()\n")); unused(data); return 0; } diff --git a/src/common/modules/gmcmd.c b/src/common/modules/gmcmd.c index ff89306df..f626466f6 100644 --- a/src/common/modules/gmcmd.c +++ b/src/common/modules/gmcmd.c @@ -130,14 +130,6 @@ gm_create(const char * str, struct unit * u) } } -struct attrib * -find_key(struct attrib * attribs, int key) -{ - attrib * a = a_find(attribs, &at_key); - while (a && a->data.i!=key) a=a->nexttype; - return a; -} - /** ** GM: TERRAFORM <terrain> <x> <y> ** requires: permission-key "gmterf" @@ -225,6 +217,40 @@ gm_give(const char * str, struct unit * u) } } +/** + ** GM: TAKE <unit> <int> <itemtype> + ** requires: permission-key "gmtake" + **/ +static void +gm_take(const char * str, struct unit * u) +{ + unit * to = findunit(atoi36(igetstrtoken(str))); + int num = atoi(getstrtoken()); + const item_type * itype = finditemtype(getstrtoken(), u->faction->locale); + + if (to==NULL || rplane(to->region) != rplane(u->region)) { + /* unknown or in another plane */ + mistake(u, str, "Die Einheit wurde nicht gefunden.\n", 0); + } else if (itype==NULL || i_get(to->items, itype)==0) { + /* unknown or not enough */ + mistake(u, str, "So einen Gegenstand hat die Einheit nicht.\n", 0); + } else { + /* checking permissions */ + attrib * permissions = a_find(u->faction->attribs, &at_permissions); + if (!permissions || !find_key((attrib*)permissions->data.v, atoi36("gmtake"))) { + mistake(u, str, "Unzureichende Rechte f�r diesen Befehl.\n", 0); + } + else { + int i = i_get(to->items, itype); + if (i<num) num=i; + if (num) { + i_change(&to->items, itype, -num); + i_change(&u->items, itype, num); + } + } + } +} + /** ** GM: SKILL <unit> <skill> <tage> ** requires: permission-key "gmskil" @@ -283,6 +309,7 @@ init_gmcmd(void) add_gmcommand(&g_cmds, "terraform", &gm_terraform); add_gmcommand(&g_cmds, "create", &gm_create); add_gmcommand(&g_cmds, "give", &gm_give); + add_gmcommand(&g_cmds, "take", &gm_take); add_gmcommand(&g_cmds, "teleport", &gm_teleport); add_gmcommand(&g_cmds, "skill", &gm_skill); } @@ -387,6 +414,7 @@ gm_addquest(const char * email, const char * name, int radius, unsigned int flag a_add((attrib**)&a->data.v, make_key(atoi36("gmtele"))); 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))); diff --git a/src/common/modules/xmas2000.c b/src/common/modules/xmas2000.c index a6cbb8c76..6ee905429 100644 --- a/src/common/modules/xmas2000.c +++ b/src/common/modules/xmas2000.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: xmas2000.c,v 1.5 2001/04/01 06:58:41 enno Exp $ + * $Id: xmas2000.c,v 1.6 2001/04/12 17:21:44 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -71,7 +71,7 @@ xmasgate_handle(trigger * t, void * data) if (*up==u) up = &u->next; } } else - fprintf(stderr, "ERROR: could not perform xmasgate::handle()\n"); + log_error(("could not perform xmasgate::handle()\n")); unused(data); return 0; } diff --git a/src/common/spells/alp.c b/src/common/spells/alp.c index efe438ef5..d58c440f3 100644 --- a/src/common/spells/alp.c +++ b/src/common/spells/alp.c @@ -1,6 +1,5 @@ /* vi: set ts=2: * - * $Id: alp.c,v 1.3 2001/04/01 06:58:41 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -150,7 +149,7 @@ sp_summon_alp(struct castorder *co) } -static void +void alp_findet_opfer(unit *alp, region *r) { curse * c; @@ -201,71 +200,24 @@ alp_findet_opfer(unit *alp, region *r) } } -void -monster_seeks_target(region *r, unit *u) -{ - direction_t d; - strlist *S, **SP; - unit *target; - int dist, dist2; - direction_t i; - region *nr; - - /* Das Monster sucht ein bestimmtes Opfer. Welches, steht - * in einer Referenz (alles noch nicht richtig implementiert...) - */ - - target = NULL; /* TODO: aus Referenz holen */ - /* TODO: pr�fen, ob target �berhaupt noch existiert... */ - - if( r == target->region ) { /* Wir haben ihn! */ - switch( u->race ) { - case RC_ALP: - alp_findet_opfer(u, r); - break; - default: - assert(!"Seeker-Monster hat keine Aktion fuer Ziel"); - } - return; - } - - /* Simpler Ansatz: Nachbarregion mit gerinster Distanz suchen. - * Sinnvoll momentan nur bei Monstern, die sich nicht um das - * Terrain k�mmern. Nebelw�nde & Co machen derzeit auch nix... - */ - dist2 = distance(r, target->region); - d = NODIRECTION; - for( i = 0; i < MAXDIRECTIONS; i++ ) { - nr = rconnect(r, i); - assert(nr); - dist = distance(nr, target->region); - if( dist < dist2 ) { - dist2 = dist; - d = i; - } - } - assert(d != NODIRECTION ); - - switch( u->race ) { - case RC_ALP: - if( !(u->age % 2) ) /* bewegt sich nur jede zweite Runde */ - d = NODIRECTION; - break; - default: - break; - } - - if( d == NODIRECTION ) - return; - sprintf(buf, "%s %s", keywords[K_MOVE], directions[d]); - SP = &u->orders; - S = makestrlist(buf); - addlist2(SP, S); - *SP = 0; -} - void init_alp(void) { at_register(&at_alp); } + +unit * +alp_target(unit *alp) +{ + alp_data* ad; + unit * target = NULL; + + attrib * a = a_find(alp->attribs, &at_alp); + + if (a) { + ad = (alp_data*) a->data.v; + target = ad->target; + } + return target; + +} diff --git a/src/common/spells/alp.h b/src/common/spells/alp.h index a336b27dd..918d1095f 100644 --- a/src/common/spells/alp.h +++ b/src/common/spells/alp.h @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: alp.h,v 1.2 2001/01/26 16:19:41 enno Exp $ + * $Id: alp.h,v 1.3 2001/04/12 17:21:45 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -39,4 +39,9 @@ struct castorder; extern int sp_summon_alp(struct castorder *co); extern void init_alp(void); +struct unit* alp_target(struct unit *alp); +void alp_findet_opfer(struct unit *alp, struct region *r); + + + #endif diff --git a/src/common/triggers/changerace.c b/src/common/triggers/changerace.c index 3298e93b4..e4976e3ee 100644 --- a/src/common/triggers/changerace.c +++ b/src/common/triggers/changerace.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: changerace.c,v 1.2 2001/01/26 16:19:41 enno Exp $ + * $Id: changerace.c,v 1.3 2001/04/12 17:21:45 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -64,7 +64,7 @@ changerace_handle(trigger * t, void * data) if (td->race!=NORACE) td->u->race = td->race; if (td->irace!=NORACE) td->u->irace = td->irace; } else { - fprintf(stderr, "\aERROR: could not perform changerace::handle()\n"); + log_error(("could not perform changerace::handle()\n")); } unused(data); return 0; diff --git a/src/common/triggers/createcurse.c b/src/common/triggers/createcurse.c index 457d9ebc1..cb31466eb 100644 --- a/src/common/triggers/createcurse.c +++ b/src/common/triggers/createcurse.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: createcurse.c,v 1.2 2001/01/26 16:19:41 enno Exp $ + * $Id: createcurse.c,v 1.3 2001/04/12 17:21:45 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -70,7 +70,7 @@ createcurse_handle(trigger * t, void * data) create_curse(td->mage, &td->target->attribs, td->id, td->id2, td->vigour, td->duration, td->effect, td->men); } else { - fprintf(stderr, "\aERROR: could not perform createcurse::handle()\n"); + log_error(("could not perform createcurse::handle()\n")); } unused(data); return 0; diff --git a/src/common/triggers/createunit.c b/src/common/triggers/createunit.c index 1690d9c2a..eca341399 100644 --- a/src/common/triggers/createunit.c +++ b/src/common/triggers/createunit.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: createunit.c,v 1.2 2001/01/26 16:19:41 enno Exp $ + * $Id: createunit.c,v 1.3 2001/04/12 17:21:45 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -66,7 +66,7 @@ createunit_handle(trigger * t, void * data) if (td->r!=NULL && td->f!=NULL) { createunit(td->r, td->f, td->number, td->race); } else { - fprintf(stderr, "\aERROR: could not perform createunit::handle()\n"); + log_error(("could not perform createunit::handle()\n")); } unused(data); return 0; diff --git a/src/common/triggers/giveitem.c b/src/common/triggers/giveitem.c index 19880a2da..7ed8a5ea2 100644 --- a/src/common/triggers/giveitem.c +++ b/src/common/triggers/giveitem.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: giveitem.c,v 1.2 2001/01/26 16:19:41 enno Exp $ + * $Id: giveitem.c,v 1.3 2001/04/12 17:21:45 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -62,7 +62,7 @@ giveitem_handle(trigger * t, void * data) if (td->u!=NULL) { i_change(&td->u->items, td->itype, td->number); } else - fprintf(stderr, "\aERROR: could not perform giveitem::handle()\n"); + log_error(("could not perform giveitem::handle()\n")); unused(data); return 0; } diff --git a/src/common/triggers/killunit.c b/src/common/triggers/killunit.c index d8b076eae..c469df476 100644 --- a/src/common/triggers/killunit.c +++ b/src/common/triggers/killunit.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: killunit.c,v 1.3 2001/02/25 19:31:39 enno Exp $ + * $Id: killunit.c,v 1.4 2001/04/12 17:21:45 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -39,7 +39,7 @@ killunit_handle(trigger * t, void * data) if (u!=NULL) { destroy_unit(u); } else - fprintf(stderr, "\aERROR: could not perform killunit::handle()\n"); + log_error(("could not perform killunit::handle()\n")); unused(data); return 0; } diff --git a/src/common/triggers/removecurse.c b/src/common/triggers/removecurse.c index a32baae1e..7602a1af7 100644 --- a/src/common/triggers/removecurse.c +++ b/src/common/triggers/removecurse.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: removecurse.c,v 1.2 2001/01/26 16:19:41 enno Exp $ + * $Id: removecurse.c,v 1.3 2001/04/12 17:21:45 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -62,9 +62,9 @@ removecurse_handle(trigger * t, void * data) if (a) { a_remove(&td->target->attribs, a); } - else fprintf(stderr, "\aERROR: could not perform removecurse::handle()\n"); + else log_error(("ERROR: could not perform removecurse::handle()\n")); } else { - fprintf(stderr, "\aERROR: could not perform removecurse::handle()\n"); + log_error(("could not perform removecurse::handle()\n")); } unused(data); return 0; diff --git a/src/common/triggers/shock.c b/src/common/triggers/shock.c index 4d881f430..434682869 100644 --- a/src/common/triggers/shock.c +++ b/src/common/triggers/shock.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: shock.c,v 1.3 2001/02/15 02:41:47 enno Exp $ + * $Id: shock.c,v 1.4 2001/04/12 17:21:45 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -40,7 +40,7 @@ shock_handle(trigger * t, void * data) if (u!=NULL) { do_shock(u, "trigger"); } else - fprintf(stderr, "\aERROR: could not perform shock::handle()\n"); + log_error(("could not perform shock::handle()\n")); unused(data); return 0; } diff --git a/src/common/triggers/unitmessage.c b/src/common/triggers/unitmessage.c index 6929cdcd2..97fdeeb85 100644 --- a/src/common/triggers/unitmessage.c +++ b/src/common/triggers/unitmessage.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: unitmessage.c,v 1.2 2001/01/26 16:19:41 enno Exp $ + * $Id: unitmessage.c,v 1.3 2001/04/12 17:21:45 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -65,7 +65,7 @@ unitmessage_handle(trigger * t, void * data) if (td->target!=NULL) { addmessage(td->target->region, td->target->faction, td->string, td->type, td->level); } else - fprintf(stderr, "\aERROR: could not perform unitmessage::handle()\n"); + log_error(("could not perform unitmessage::handle()\n")); unused(data); return 0; } @@ -111,7 +111,7 @@ trigger_unitmessage(unit * target, const char * string, int type, int level) trigger * t = t_new(&tt_unitmessage); unitmessage_data * td = (unitmessage_data*)t->data.v; td->target = target; - td->string = escape_string(strdup(string), SPACE_REPLACEMENT); + td->string = space_replace(strdup(string), SPACE_REPLACEMENT); td->type = type; td->level = level; return t; diff --git a/src/common/util/attrib.c b/src/common/util/attrib.c index 2b003e4d6..221933055 100644 --- a/src/common/util/attrib.c +++ b/src/common/util/attrib.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: attrib.c,v 1.4 2001/02/14 07:44:57 enno Exp $ + * $Id: attrib.c,v 1.5 2001/04/12 17:21:45 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -15,6 +15,8 @@ #include <config.h> #include "attrib.h" +#include "log.h" + #include <assert.h> #include <string.h> #include <stdlib.h> @@ -44,7 +46,7 @@ at_register(attrib_type * at) find = at_hash[at->hashkey % MAXATHASH]; while (find && at->hashkey!=find->hashkey) find = find->nexthash; if (find && find==at) { - fprintf(stderr, "WARNING: attribute '%s' was registered more than once\n", at->name); + log_warning(("attribute '%s' was registered more than once\n", at->name)); return; } else { assert(!find || !"hashkey is already in use"); diff --git a/src/common/util/base36.c b/src/common/util/base36.c index 4b064b783..de95ae9e3 100644 --- a/src/common/util/base36.c +++ b/src/common/util/base36.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: base36.c,v 1.3 2001/02/09 13:53:52 corwin Exp $ + * $Id: base36.c,v 1.4 2001/04/12 17:21:45 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -67,8 +67,8 @@ itoab(int i, int base) } s = as[index]; index = (index+1) % 4; - dst = s+6; - + dst = s+7; + (*dst--)=0; if (i!=0) { if (i<0) { i=-i; diff --git a/src/common/util/crmessage.c b/src/common/util/crmessage.c index 563f54455..1ab8766c0 100644 --- a/src/common/util/crmessage.c +++ b/src/common/util/crmessage.c @@ -8,13 +8,14 @@ This program may not be used, modified or distributed without prior permission by the authors of Eressea. - $Id: crmessage.c,v 1.1 2001/02/24 12:50:50 enno Exp $ + $Id: crmessage.c,v 1.2 2001/04/12 17:21:45 enno Exp $ */ #include <config.h> #include "crmessage.h" #include "message.h" +#include "log.h" #include <stdio.h> #include <stdlib.h> @@ -61,7 +62,6 @@ tsf_register(const char * name, tostring_f fun) /** crmesssage **/ typedef struct crmessage_type { const struct message_type * mtype; - const struct locale * lang; tostring_f * renderers; struct crmessage_type * next; } crmessage_type; @@ -69,32 +69,27 @@ typedef struct crmessage_type { static crmessage_type * messagetypes; static crmessage_type * -crt_find(const struct locale * lang, const struct message_type * mtype) +crt_find(const struct message_type * mtype) { crmessage_type * found = NULL; crmessage_type * type = messagetypes; while (type) { - if (type->mtype==mtype) { - if (found==NULL) found = type; - else if (type->lang==NULL) found = type; - if (lang==type->lang) break; - } + if (type->mtype==mtype) found = type; type = type->next; } return found; } void -crt_register(const struct message_type * mtype, const struct locale * lang) +crt_register(const struct message_type * mtype) { crmessage_type * crt = messagetypes; - while (crt && (crt->lang!=lang || crt->mtype!=mtype)) { + while (crt && crt->mtype!=mtype) { crt = crt->next; } if (!crt) { int i; crt = malloc(sizeof(crmessage_type)); - crt->lang = lang; crt->mtype = mtype; crt->next = messagetypes; messagetypes = crt; @@ -108,18 +103,20 @@ crt_register(const struct message_type * mtype, const struct locale * lang) } int -cr_render(const message * msg, const struct locale * lang, char * buffer) +cr_render(const message * msg, char * buffer, const void * userdata) { int i; char * c = buffer; - struct crmessage_type * crt = crt_find(lang, msg->type); + struct crmessage_type * crt = crt_find(msg->type); if (crt==NULL) return -1; for (i=0;i!=msg->type->nparameters;++i) { if (crt->renderers[i]==NULL) { - strcpy(c, (const char*)msg->parameters[i]); + log_error(("No renderer for argument %s:%s of \"%s\"\n", + msg->type->pnames[i], msg->type->types[i], msg->type->name)); + continue; /* strcpy(c, (const char*)msg->parameters[i]); */ } else { - crt->renderers[i](msg->parameters[i], c); + if (crt->renderers[i](msg->parameters[i], c, userdata)!=0) continue; } c += strlen(c); sprintf(c, ";%s\n", msg->type->pnames[i]); @@ -128,14 +125,27 @@ cr_render(const message * msg, const struct locale * lang, char * buffer) return 0; } -void -cr_string(const void * v, char * buffer) +int +cr_string(const void * v, char * buffer, const void * userdata) { sprintf(buffer, "\"%s\"", (const char *)v); + unused(userdata); + return 0; } -void -cr_int(const void * v, char * buffer) +int +cr_int(const void * v, char * buffer, const void * userdata) { sprintf(buffer, "%d", (int)v); + unused(userdata); + return 0; +} + +int +cr_ignore(const void * v, char * buffer, const void * userdata) +{ + unused(v); + unused(buffer); + unused(userdata); + return -1; } diff --git a/src/common/util/crmessage.h b/src/common/util/crmessage.h index 208bc78d2..9a643b2c7 100644 --- a/src/common/util/crmessage.h +++ b/src/common/util/crmessage.h @@ -14,13 +14,14 @@ struct locale; struct message; struct message_type; -typedef void (*tostring_f)(const void * data, char * buffer); +typedef int (*tostring_f)(const void * data, char * buffer, const void * userdata); extern void tsf_register(const char * name, tostring_f fun); /* registers a new type->string-function */ -extern void cr_string(const void * v, char * buffer); -extern void cr_int(const void * v, char * buffer); +extern int cr_string(const void * v, char * buffer, const void * userdata); +extern int cr_int(const void * v, char * buffer, const void * userdata); +extern int cr_ignore(const void * v, char * buffer, const void * userdata); -extern void crt_register(const struct message_type * mtype, const struct locale * lang); -extern int cr_render(const struct message * msg, const struct locale * lang, char * buffer); +extern void crt_register(const struct message_type * mtype); +extern int cr_render(const struct message * msg, char * buffer, const void * userdata); diff --git a/src/common/util/goodies.c b/src/common/util/goodies.c index 7b393b495..d95d6b612 100644 --- a/src/common/util/goodies.c +++ b/src/common/util/goodies.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: goodies.c,v 1.7 2001/02/14 01:38:50 enno Exp $ + * $Id: goodies.c,v 1.8 2001/04/12 17:21:45 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -70,19 +70,33 @@ hashstring(const char* s) } char * -escape_string(char * str, char replace) +space_replace(char * str, char replace) { char * c = str; while (*c) {if (isspace(*c)) *c = replace; c++;} return str; } -char * -unescape_string(char * str, char replace) +const char * +escape_string(const char * str, char * buffer, size_t len) { - char * c = str; - while (*c) { if (*c==replace) *c = ' '; c++; } - return str; + char s_buffer[4096]; + const char * p = str; + char * o; + if (buffer==NULL) { + buffer = s_buffer; + len = sizeof(s_buffer); + } + o = buffer; + do { + switch (*p) { + case '\"': + case '\\': + (*o++) = '\\'; + } + (*o++) = (*p); + } while (*p++); + return buffer; } char * diff --git a/src/common/util/goodies.h b/src/common/util/goodies.h index d4ce5b29c..da6befea5 100644 --- a/src/common/util/goodies.h +++ b/src/common/util/goodies.h @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: goodies.h,v 1.3 2001/02/10 11:38:29 enno Exp $ + * $Id: goodies.h,v 1.4 2001/04/12 17:21:45 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -19,8 +19,8 @@ extern int *intlist_init(void); extern int *intlist_add(int *i_p, int i); extern int *intlist_find(int *i_p, int i); extern unsigned int hashstring(const char* s); -extern char *escape_string(char * str, char replace); -extern char *unescape_string(char * str, char replace); +extern char *space_replace(char * str, char replace); +extern const char *escape_string(const char * str, char * buffer, size_t len); /* grammar constants: */ #define GR_PLURAL 0x01 /* 0x02-0x08 left unused for individual use */ diff --git a/src/common/util/language.c b/src/common/util/language.c index c7815f88d..7361cdc60 100644 --- a/src/common/util/language.c +++ b/src/common/util/language.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: language.c,v 1.4 2001/02/11 20:54:01 enno Exp $ + * $Id: language.c,v 1.5 2001/04/12 17:21:45 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -12,8 +12,9 @@ * prior permission by the authors of Eressea. */ #include <config.h> - #include "language.h" + +#include "log.h" #include "goodies.h" #include <stdlib.h> @@ -90,10 +91,10 @@ locale_string(const locale * lang, const char * key) } if (!find) { if (lang==default_locale) { - fprintf(stderr, "WARNING: missing translation for \"%s\"\n", key); + log_warning(("missing translation for \"%s\"\n", key)); return key; } - fprintf(stderr, "WARNING: missing translation for \"%s\" in locale %s\n", key, lang->name); + log_warning(("missing translation for \"%s\" in locale %s\n", key, lang->name)); return locale_string(default_locale, key); } return find->str; diff --git a/src/common/util/log.c b/src/common/util/log.c index e8e3b03e6..db3577fc7 100644 --- a/src/common/util/log.c +++ b/src/common/util/log.c @@ -4,6 +4,7 @@ #include <stdlib.h> #include <stdio.h> #include <stdarg.h> +#include <time.h> #define LOG_FLUSH (1<<0) #define LOG_CPERROR (1<<1) @@ -35,12 +36,24 @@ log_open(const char * filename) { if (logfile) log_close(); logfile = fopen(filename, "a"); + if (logfile) { + /* Get UNIX-style time and display as number and string. */ + time_t ltime; + time( <ime ); + log_printf( "===\n=== Logfile started at %s===\n", ctime( <ime ) ); + } } void log_close(void) { if (!logfile || logfile == stderr || logfile == stdout) return; + if (logfile) { + /* Get UNIX-style time and display as number and string. */ + time_t ltime; + time( <ime ); + log_printf("===\n=== Logfile closed at %s===\n\n", ctime( <ime ) ); + } fclose(logfile); } diff --git a/src/common/util/message.c b/src/common/util/message.c index 173bd461d..cdbfa9ae2 100644 --- a/src/common/util/message.c +++ b/src/common/util/message.c @@ -8,7 +8,7 @@ This program may not be used, modified or distributed without prior permission by the authors of Eressea. - $Id: message.c,v 1.2 2001/02/28 22:14:58 enno Exp $ + $Id: message.c,v 1.3 2001/04/12 17:21:45 enno Exp $ */ #include <config.h> @@ -20,6 +20,12 @@ #include <string.h> #include <stdarg.h> +const char * +mt_name(const message_type* mtype) +{ + return mtype->name; +} + message_type * mt_new(const char * name, const char * args[]) { diff --git a/src/common/util/message.h b/src/common/util/message.h index 1004e13fe..5802d9597 100644 --- a/src/common/util/message.h +++ b/src/common/util/message.h @@ -36,6 +36,8 @@ extern struct message * msg_create_va(const struct message_type * type, ...); extern void msg_free(struct message *m); /* remove message and associated data from memory */ +extern const char * mt_name(const struct message_type* mtype); + /** message_type registry (optional): **/ extern const struct message_type * mt_register(const struct message_type *); extern const struct message_type * mt_find(const char *); diff --git a/src/common/util/nrmessage.c b/src/common/util/nrmessage.c index c16edf6db..5ee729ef4 100644 --- a/src/common/util/nrmessage.c +++ b/src/common/util/nrmessage.c @@ -8,15 +8,18 @@ This program may not be used, modified or distributed without prior permission by the authors of Eressea. - $Id: nrmessage.c,v 1.3 2001/02/28 22:14:59 enno Exp $ + $Id: nrmessage.c,v 1.4 2001/04/12 17:21:45 enno Exp $ */ #include <config.h> #include "nrmessage.h" +/* util includes */ +#include "log.h" #include "message.h" #include "translation.h" +/* libc includes */ #include <string.h> #include <stdlib.h> @@ -32,7 +35,13 @@ typedef struct nrmessage_type { static nrmessage_type * messagetypes; -static nrmessage_type * +const char * +nrt_string(const struct nrmessage_type *type) +{ + return type->string; +} + +nrmessage_type * nrt_find(const struct locale * lang, const struct message_type * mtype) { nrmessage_type * found = NULL; @@ -41,7 +50,10 @@ nrt_find(const struct locale * lang, const struct message_type * mtype) if (type->mtype==mtype) { if (found==NULL) found = type; else if (type->lang==NULL) found = type; - if (lang==type->lang) break; + if (lang==type->lang) { + found = type; + break; + } } type = type->next; } @@ -76,15 +88,20 @@ nrt_register(const struct message_type * mtype, const struct locale * lang, cons } } - int -nr_render(const struct message * msg, const struct locale * lang, char * buffer) +nr_render(const struct message * msg, const struct locale * lang, char * buffer, const void * userdata) { struct nrmessage_type * nrt = nrt_find(lang, msg->type); if (nrt) { - strcpy(buffer, translate(nrt->string, nrt->vars, msg->parameters)); - return 0; + const char * m = translate(nrt->string, userdata, nrt->vars, msg->parameters); + if (m) { + strcpy(buffer, m); + return 0; + } + else { + log_error(("Couldn't render message %s\n", nrt->mtype->name)); + } } return -1; } diff --git a/src/common/util/nrmessage.h b/src/common/util/nrmessage.h index 65fcd6dd8..cbe32f488 100644 --- a/src/common/util/nrmessage.h +++ b/src/common/util/nrmessage.h @@ -15,15 +15,19 @@ struct message; struct message_type; struct nrmessage_type; -extern int nr_render(const struct message * msg, const struct locale * lang, - char * buffer); extern void nrt_register(const struct message_type * mtype, const struct locale * lang, const char * script, int level, const char * section); +extern struct nrmessage_type * nrt_find(const struct locale *, + const struct message_type *); +extern const char * nrt_string(const struct nrmessage_type *type); +extern int nr_render(const struct message * msg, const struct locale * lang, + char * buffer, const void * userdata); extern int nr_level(const struct message *msg); extern const char * nr_section(const struct message *msg); + /* before: * fogblock;movement:0;de;{unit} konnte von {region} nicht nach {$dir direction} ausreisen, der Nebel war zu dicht. * after: diff --git a/src/common/util/translation.c b/src/common/util/translation.c index a84bebecd..2b0230cb0 100644 --- a/src/common/util/translation.c +++ b/src/common/util/translation.c @@ -1,5 +1,8 @@ #include <config.h> +#include "translation.h" + +/* libc includes */ #include <assert.h> #include <ctype.h> #include <string.h> @@ -36,11 +39,6 @@ opstack_push(opstack ** stack, void * data) *stack = os; } -static opstack * stack; - -#define opush(i) opstack_push(&stack, (void *)(i)) -#define opop(T) (T)opstack_pop(&stack) - /** ** static buffer malloc **/ @@ -132,7 +130,6 @@ find_variable(const char * symbol) ** constant values **/ -typedef void (*evalfun)(void); typedef struct function { struct function * next; const char * symbol; @@ -151,7 +148,7 @@ free_functions(void) } } -static void +void add_function(const char * symbol, evalfun parse) { function * fun = (function*)malloc(sizeof(function)); @@ -174,11 +171,11 @@ find_function(const char * symbol) return fun; } -static const char * parse(const char* in); +static const char * parse(opstack **, const char* in, const void *); /* static const char * sample = "\"enno and $bool($if($eq($i,0),\"noone else\",\"$i other people\"))\""; */ static const char * -parse_symbol(const char* in) +parse_symbol(opstack ** stack, const char* in, const void * userdata) /* in is the symbol name and following text, starting after the $ * result goes on the stack */ @@ -195,24 +192,24 @@ parse_symbol(const char* in) */ function * foo; while (*in != ')') { - in = parse(++in); /* will push the result on the stack */ + in = parse(stack, ++in, userdata); /* will push the result on the stack */ if (in==NULL) return NULL; } ++in; foo = find_function(symbol); if (foo==NULL) return NULL; - foo->parse(); /* will pop parameters from stack (reverse order!) and push the result */ + foo->parse(stack, userdata); /* will pop parameters from stack (reverse order!) and push the result */ } else { /* it's a constant (variable is a misnomer, but heck, const was taken;)) */ variable * var = find_variable(symbol); if (var==NULL) return NULL; - opush(var->value); + opush(stack, var->value); } return in; } static const char * -parse_string(const char* in) /* (char*) -> char* */ +parse_string(opstack ** stack, const char* in, const void * userdata) /* (char*) -> char* */ { char * c; char * buffer = balloc(4*1024); @@ -247,9 +244,9 @@ parse_string(const char* in) /* (char*) -> char* */ ++ic; break; case '$': - ic = parse_symbol(++ic); + ic = parse_symbol(stack, ++ic, userdata); if (ic==NULL) return NULL; - c = opop(char*); + c = opop(stack, char*); oc += strlen(strcpy(oc, c)); bfree(c); break; @@ -260,12 +257,12 @@ parse_string(const char* in) /* (char*) -> char* */ } *oc++ = '\0'; bfree(oc); - opush(buffer); + opush(stack, buffer); return ic; } static const char * -parse_int(const char * in) +parse_int(opstack ** stack, const char * in) { int k = 0; int vz = 1; @@ -286,25 +283,25 @@ parse_int(const char * in) while (isdigit(*in)) { k = k * 10 + (*in++)-'0'; } - opush(k*vz); + opush(stack, k*vz); return in; } static const char * -parse(const char* in) +parse(opstack ** stack, const char* in, const void * userdata) { while (*in) { switch (*in) { case '"': - return parse_string(++in); + return parse_string(stack, ++in, userdata); break; case '$': - return parse_symbol(++in); + return parse_symbol(stack, ++in, userdata); break; default: if (isdigit(*in) || *in=='-' || *in=='+') { - return parse_int(in); + return parse_int(stack, in); } else ++in; } @@ -313,14 +310,14 @@ parse(const char* in) } char * -translate(const char* format, const char* vars, const void* args[]) +translate(const char* format, const void * userdata, const char* vars, const void* args[]) { int i = 0; char * retval; const char *ic = vars; char symbol[32]; char *oc = symbol; - + opstack * stack = NULL; brelease(); free_variables(); @@ -336,21 +333,21 @@ translate(const char* format, const char* vars, const void* args[]) } } - if (parse(format)==NULL) return NULL; - retval = strdup(opop(const char*)); + if (parse(&stack, format, userdata)==NULL) return NULL; + retval = strdup(opop(&stack, const char*)); return retval; } char * -translate_va(const char* format, const char* vars, ...) +translate_va(const char* format, const void * userdata, const char* vars, ...) { char * retval; va_list marker; const char *ic = vars; char symbol[32]; char *oc = symbol; - + opstack * stack = NULL; brelease(); free_variables(); @@ -368,76 +365,66 @@ translate_va(const char* format, const char* vars, ...) } va_end(marker); /* Reset variable arguments. */ - if (parse(format)==NULL) return NULL; - retval = strdup(opop(const char*)); + if (parse(&stack, format, userdata)==NULL) return NULL; + retval = strdup(opop(&stack, const char*)); return retval; } static void -eval_eq(void) /* (int, int) -> int */ +eval_eq(opstack ** stack, const void * userdata) /* (int, int) -> int */ { - int a = opop(int); - int b = opop(int); + int a = opop(stack, int); + int b = opop(stack, int); int rval = (a==b)?1:0; - opush(rval); + opush(stack, rval); + unused(userdata); } static void -eval_add(void) /* (int, int) -> int */ +eval_add(opstack ** stack, const void * userdata) /* (int, int) -> int */ { - int a = opop(int); - int b = opop(int); - opush(a+b); + int a = opop(stack, int); + int b = opop(stack, int); + opush(stack, a+b); + unused(userdata); } static void -eval_if(void) /* (int, int) -> int */ +eval_if(opstack ** stack, const void * userdata) /* (int, int) -> int */ { - void * a = opop(void *); - void * b = opop(void *); - int cond = opop(int); - opush(cond?b:a); + void * a = opop(stack, void *); + void * b = opop(stack, void *); + int cond = opop(stack, int); + opush(stack, cond?b:a); + unused(userdata); } #include "base36.h" static void -eval_int(void) +eval_int(opstack ** stack, const void * userdata) { - int i = opop(int); + int i = opop(stack, int); const char * c = itoa10(i); - opush(strcpy(balloc(strlen(c)+1), c)); + opush(stack, strcpy(balloc(strlen(c)+1), c)); + unused(userdata); } #include "language.h" static void -eval_localize(void) /* (locale, string) -> string */ +eval_localize(opstack ** stack, const void * userdata) /* (string, locale) -> string */ { - const struct locale *lang = opop(const struct locale *); - const char *c = opop(const char *); - const char *r = locale_string(lang, c); - - bfree((char*)c); - opush(r); -} - -struct unit; -extern const char * unitname(const struct unit *u); - -static void -eval_unit(void) /* unit -> string */ -{ - const struct unit * u = opop(const struct unit *); - const char * c = u?"unit u":"nobody"; - size_t len = strlen(c); - opush(strcpy(balloc(len+1), c)); + const struct locale *lang = opop(stack, const struct locale *); + const char *c = opop(stack, const char *); + c = locale_string(lang, c); + opush(stack, strcpy(balloc(strlen(c)+1), c)); + unused(userdata); } void translation_init(void) { add_function("eq", &eval_eq); - add_function("unit", &eval_unit); add_function("int", &eval_int); add_function("add", &eval_add); add_function("if", &eval_if); diff --git a/src/common/util/translation.h b/src/common/util/translation.h index 3ad6dbb1b..d76d74e73 100644 --- a/src/common/util/translation.h +++ b/src/common/util/translation.h @@ -10,7 +10,21 @@ without prior permission by the authors of Eressea. */ +struct opstack; +extern void * opstack_pop(struct opstack ** stack); +extern void opstack_push(struct opstack ** stack, void * data); +#define opush(stack, i) opstack_push(stack, (void *)(i)) +#define opop(stack, T) (T)opstack_pop(stack) + extern void translation_init(void); extern void translation_done(void); -extern char * translate_va(const char* format, const char* vars, ...); -extern char * translate(const char* format, const char* vars, const void* args[]); +extern char * translate_va(const char* format, const void * userdata, const char* vars, ...); +extern char * translate(const char* format, const void * userdata, const char* vars, const void* args[]); + +/* eval_x functions */ +typedef void (*evalfun)(struct opstack ** stack, const void *); +extern void add_function(const char * symbol, evalfun parse); + +/* transient memory blocks */ +extern char * balloc(size_t size); + diff --git a/src/common/util/xml.c b/src/common/util/xml.c index dc1d5237c..e37e91628 100644 --- a/src/common/util/xml.c +++ b/src/common/util/xml.c @@ -9,8 +9,9 @@ #include <ctype.h> static int -__cberror(const struct xml_stack * stack, const char* parsed, unsigned int line, int error) +__cberror(const struct xml_stack * stack, const char* parsed, unsigned int line, int error, void *data) { + unused(data); fprintf(stderr, "Error #%d in line %u while parsing \"%s\"\n", -error, line, parsed); return error; } @@ -72,7 +73,7 @@ pop_tag(xml_stack ** ostack) } int -xml_parse(FILE * stream, struct xml_callbacks * cb) +xml_parse(FILE * stream, struct xml_callbacks * cb, void * data) { xml_stack * stack = NULL; enum { TAG, ENDTAG, ATNAME, ATVALUE, PLAIN } state = PLAIN; @@ -82,7 +83,7 @@ xml_parse(FILE * stream, struct xml_callbacks * cb) unsigned int line = 0; xml_tag * tag = NULL; xml_attrib * attrib = NULL; - int (*cb_error)(const struct xml_stack*, const char*, unsigned int, int) = __cberror; + int (*cb_error)(const struct xml_stack*, const char*, unsigned int, int, void*) = __cberror; if (cb && cb->error) cb_error = cb->error; for (;;) { @@ -93,11 +94,11 @@ xml_parse(FILE * stream, struct xml_callbacks * cb) } else if (c==EOF) { if (state==PLAIN) { *pos='\0'; - if (cb && cb->plaintext && pos!=tokbuffer) cb->plaintext(stack, tokbuffer); + if (cb && cb->plaintext && pos!=tokbuffer) cb->plaintext(stack, tokbuffer, data); break; } else { *pos='\0'; - return cb_error(stack, tokbuffer, line, XML_BROKENSTREAM); + return cb_error(stack, tokbuffer, line, XML_BROKENSTREAM, data); } } do { @@ -108,14 +109,14 @@ xml_parse(FILE * stream, struct xml_callbacks * cb) case '<': case '/': *pos='\0'; - return cb_error(stack, tokbuffer, line, XML_INVALIDCHAR); + return cb_error(stack, tokbuffer, line, XML_INVALIDCHAR, data); case '"': quoted = !quoted; break; case '>': if (quoted) { *pos='\0'; - return cb_error(stack, tokbuffer, line, XML_INVALIDCHAR); + return cb_error(stack, tokbuffer, line, XML_INVALIDCHAR, data); } state = TAG; /* intentional fallthrough */ @@ -146,11 +147,11 @@ xml_parse(FILE * stream, struct xml_callbacks * cb) case '<': case '/': *pos='\0'; - return cb_error(stack, tokbuffer, line, XML_INVALIDCHAR); + return cb_error(stack, tokbuffer, line, XML_INVALIDCHAR, data); default: if (isspace(c)) { *pos='\0'; - return cb_error(stack, tokbuffer, line, XML_INVALIDCHAR); + return cb_error(stack, tokbuffer, line, XML_INVALIDCHAR, data); } *pos++ = (char)c; } @@ -160,7 +161,7 @@ xml_parse(FILE * stream, struct xml_callbacks * cb) case '<': if (cb && cb->plaintext && pos!=tokbuffer) { *pos = '\0'; - cb->plaintext(stack, tokbuffer); + cb->plaintext(stack, tokbuffer, data); } state = TAG; tag = NULL; @@ -168,7 +169,7 @@ xml_parse(FILE * stream, struct xml_callbacks * cb) break; case '>': *pos='\0'; - return cb_error(stack, tokbuffer, line, XML_INVALIDCHAR); + return cb_error(stack, tokbuffer, line, XML_INVALIDCHAR, data); default: *pos++ = (char)c; } @@ -179,7 +180,7 @@ xml_parse(FILE * stream, struct xml_callbacks * cb) if (pos==tokbuffer) state = ENDTAG; else { *pos='\0'; - return cb_error(stack, tokbuffer, line, XML_INVALIDCHAR); + return cb_error(stack, tokbuffer, line, XML_INVALIDCHAR, data); } break; case '>': @@ -187,7 +188,7 @@ xml_parse(FILE * stream, struct xml_callbacks * cb) *pos='\0'; push_tag(&stack, make_tag(tokbuffer)); } - if (cb && cb->tagbegin) cb->tagbegin(stack); + if (cb && cb->tagbegin) cb->tagbegin(stack, data); state = PLAIN; pos = tokbuffer; break; @@ -214,8 +215,8 @@ xml_parse(FILE * stream, struct xml_callbacks * cb) case '>': *pos = '\0'; while (stack && strcmp(stack->tag->name, tokbuffer)!=0) free_tag(pop_tag(&stack)); - if (stack==NULL) return cb_error(stack, tokbuffer, line, XML_NESTINGERROR); - if (cb && cb->tagend) cb->tagend(stack); + if (stack==NULL) return cb_error(stack, tokbuffer, line, XML_NESTINGERROR, data); + if (cb && cb->tagend) cb->tagend(stack, data); free_tag(pop_tag(&stack)); state = PLAIN; pos = tokbuffer; @@ -225,7 +226,7 @@ xml_parse(FILE * stream, struct xml_callbacks * cb) case '=': case '/': *pos='\0'; - return cb_error(stack, tokbuffer, line, XML_INVALIDCHAR); + return cb_error(stack, tokbuffer, line, XML_INVALIDCHAR, data); default: *pos++ = (char)c; } @@ -235,3 +236,12 @@ xml_parse(FILE * stream, struct xml_callbacks * cb) } /* for(;;) */ return XML_OK; /* SUCCESS */ } + +const char * +xml_value(const xml_tag * tag, const char * name) +{ + const xml_attrib * xa = tag->attribs; + while (xa && strcmp(name, xa->name)!=0) xa = xa->next; + if (xa) return xa->value; + return NULL; +} diff --git a/src/common/util/xml.h b/src/common/util/xml.h index 75051960c..a5d6bbd10 100644 --- a/src/common/util/xml.h +++ b/src/common/util/xml.h @@ -18,16 +18,17 @@ typedef struct xml_attrib { #define XML_INVALIDCHAR -1 #define XML_NESTINGERROR -2 #define XML_BROKENSTREAM -3 +#define XML_USERERROR -10 /* callbacks */ typedef struct xml_callbacks { - int (*plaintext)(const struct xml_stack *, const char*); - int (*tagbegin)(const struct xml_stack *); - int (*tagend)(const struct xml_stack *); - int (*error)(const struct xml_stack *, const char*, unsigned int, int); + int (*plaintext)(const struct xml_stack *, const char*, void *); + int (*tagbegin)(const struct xml_stack *, void *); + int (*tagend)(const struct xml_stack *, void *); + int (*error)(const struct xml_stack *, const char*, unsigned int, int, void *); } xml_callbacks; /* parser */ #include <stdio.h> -extern int xml_parse(FILE * stream, struct xml_callbacks *); - +extern int xml_parse(FILE * stream, struct xml_callbacks *, void *); +extern const char * xml_value(const struct xml_tag * tag, const char * name); diff --git a/src/config.h b/src/config.h index c4c799f3a..94713ccf4 100644 --- a/src/config.h +++ b/src/config.h @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: config.h,v 1.5 2001/02/05 16:11:57 enno Exp $ + * $Id: config.h,v 1.6 2001/04/12 17:21:40 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -230,4 +230,6 @@ extern char * strdup(const char *s); #endif #endif +#define unused(var) var = var + #endif diff --git a/src/eressea/attributes.c b/src/eressea/attributes.c index 09ee7dbe7..8144c58f1 100644 --- a/src/eressea/attributes.c +++ b/src/eressea/attributes.c @@ -1,6 +1,5 @@ /* vi: set ts=2: * - * $Id: attributes.c,v 1.7 2001/02/18 12:20:20 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -26,6 +25,13 @@ #include <attributes/iceberg.h> #include <attributes/hate.h> #include <attributes/overrideroads.h> +#include <attributes/racename.h> +#ifdef AT_OPTION +# include <attributes/option.h> +#endif +#ifdef AT_MOVED +# include <attributes/moved.h> +#endif /* util includes */ #include <attrib.h> @@ -34,20 +40,19 @@ void init_attributes(void) { at_register(&at_overrideroads); - /* at_gm */ - init_gm(); - /* at_iceberg */ init_iceberg(); - /* at_key */ init_key(); - /* at_orcification */ - init_orcification(); - /* at_follow */ + init_gm(); init_follow(); - /* at_targetregion */ init_targetregion(); - /* at_hate */ + init_orcification(); init_hate(); - /* at_reduceproduction */ init_reduceproduction(); + init_racename(); +#ifdef AT_MOVED + init_moved(); +#endif +#ifdef AT_OPTION + init_option(); +#endif } diff --git a/src/eressea/korrektur.c b/src/eressea/korrektur.c index c61bcabc4..b304df69b 100644 --- a/src/eressea/korrektur.c +++ b/src/eressea/korrektur.c @@ -123,14 +123,12 @@ fix_skills(void) fscanf(F, "%s", zText); magic = atoi36(zText); { /* check for magic key */ - attrib * a = a_find(global.attribs, &at_key); - /* make sure that this is done only once! */ - while (a && a->data.i!=magic) a=a->next; + attrib * a = find_key(global.attribs, magic); if (a) { log_warning(("[fix_skills] function was called a second time\n")); return; } - a_add(&global.attribs, a_new(&at_key))->data.i = magic; + a_add(&global.attribs, make_key(magic)); } for (;;) { int from, self, teach, skill; @@ -155,8 +153,7 @@ fix_skills(void) /* make sure that this is done only once! */ #define do_once(magic, fun) \ { \ - attrib * a = a_find(global.attribs, &at_key); \ - while (a && a->data.i!=(magic)) a=a->next; \ + attrib * a = find_key(global.attribs, (magic)); \ if (a) { \ log_warning(("[do_once] a unique fix %d=\"%s\" was called a second time\n", magic, itoa36(magic))); \ } else { \ @@ -488,7 +485,7 @@ resolve_border(void * data) { border_info * info = (border_info *)data; region * to = rconnect(info->from, info->dir); - if (!to) fprintf(stderr, "WARNING: border can only exist between two regions\n"); + if (!to) log_warning(("border can only exist between two regions\n")); else { border * b = new_border(info->type, info->from, to); b->attribs = info->attribs; @@ -823,21 +820,6 @@ fix_score_option(void) } #endif -#if 0 -static void -fix_randencounter(void) { - region * r; - for (r=regions;r;r=r->next) { - if (!r->land || rterrain(r)==T_GLACIER || r->units || r->ships || r->buildings) continue; - if (fval(r, RF_ENCOUNTER)) { - fputs("\n\nWARNING: FI_RANDENCOUNTER WAS STILL ENABLED\n\n", stderr); - return; - } - fset(r, RF_ENCOUNTER); - } -} -#endif - #if 0 static void fix_wounds(void) @@ -912,37 +894,6 @@ name_seaserpents(void) } } -static void -give_questling(void) -{ - unit *u1, *u2; - - if((u1=findunitg(15474, NULL))==NULL) /* Questling */ - return; - if((u2=findunitg(1429665, NULL))==NULL) /* Harmloser Wanderer */ - return; - if (u1->faction==u2->faction) return; - - add_message(&u1->faction->msgs, - new_message(u1->faction, "give%u:unit%u:target%r:region%X:resource%i:amount", - u1, u2, u1->region, r_unit, 1)); - u_setfaction(u1, u2->faction); - add_message(&u2->faction->msgs, - new_message(u1->faction, "give%u:unit%u:target%r:region%X:resource%i:amount", - u1, u2, u1->region, r_unit, 1)); -} - -#if 0 -static void -old_rsetroad(region * r, int val) -{ - attrib * a = a_find(r->attribs, &at_road); - if (!a && val) a = a_add(&r->attribs, a_new(&at_road)); - else if (a && !val) a_remove(&r->attribs, a); - if (val) a->data.i = val; -} -#endif - static int old_rroad(region * r) { @@ -1103,7 +1054,7 @@ fix_buildings(void) int first; if((statfile=fopen("building.txt","r"))==NULL) { - printf("WARNING: fix_buildings: cannot open building.txt!\n"); + log_warning(("fix_buildings: cannot open building.txt!\n")); return; } @@ -1602,7 +1553,7 @@ fix_prices(void) for(r=regions; r; r=r->next) if(r->land) { int sales = 0, buys = 0; - const luxury_type *sale, *ltype; + const luxury_type *sale = NULL, *ltype; struct demand *dmd; for (dmd=r->land->demands;dmd;dmd=dmd->next) { if(dmd->value == 0) { @@ -1620,6 +1571,7 @@ fix_prices(void) r_setdemand(r, ltype, 0); sale = ltype; } + assert(sale); if(buys == 0) { for(ltype=luxurytypes; ltype; ltype=ltype->next) { if(ltype != sale) r_setdemand(r, ltype, 1 + rand() % 5); @@ -2131,28 +2083,59 @@ fix_timeouts(void) } #include <modules/gmcmd.h> +static void +update_gmquests(void) +{ + struct faction * f; + + /* Isilpetz wil keine Orks */ + f = findfaction(atoi36("gm00")); + while (f && (strstr(f->name, "gelsen")==0 || find_key(f->attribs, atoi36("quest")))) f = f->next; /* Isilpetz finden */ + if (f) { + unit * u = f->units; + plane * p = rplane(u->region); + p->flags |= PFL_NOORCGROWTH; + } + + /* neue gm commands */ + /* alle muessen noch ein gm:take kriegen */ + for (f=factions;f;f=f->next) { + attrib * a; + if (!find_key(f->attribs, atoi36("quest"))) continue; + a = a_find(f->attribs, &at_permissions); + assert(a || !"gm-partei ohne permissions!"); + if (!find_key((attrib*)a->data.v, atoi36("gmtake"))) + a_add((attrib**)&a->data.v, make_key(atoi36("gmtake"))); + } +/* + * f = gm_addquest("BigBear@nord-com.net", "Leonidas Verm�chtnis", 15, PFL_NOMAGIC|PFL_NOSTEALTH); + * log_printf("Neue Questenpartei %s\n", factionname(f)); + */ + +} + static void test_gmquest(void) { - const struct faction * f; - /* enno's world */ - f = gm_addquest("enno@eressea.upb.de", "GM Zone", 1, PFL_NOATTACK|PFL_NOALLIANCES|PFL_NOFEED|PFL_FRIENDLY); - log_printf("Neue Questenpartei %s\n", factionname(f)); + const struct faction * f; + /* enno's world */ + f = gm_addquest("enno@eressea.upb.de", "GM Zone", 1, PFL_NOATTACK|PFL_NOALLIANCES|PFL_NOFEED|PFL_FRIENDLY); + log_printf("Neue Questenpartei %s\n", factionname(f)); - f = gm_addquest("xandril@att.net", "Mardallas Welt", 40, 0); - log_printf("Neue Questenpartei %s\n", factionname(f)); + f = gm_addquest("xandril@att.net", "Mardallas Welt", 40, 0); + log_printf("Neue Questenpartei %s\n", factionname(f)); - f = gm_addquest("moritzsalinger@web.de", "Laen-Kaiser", 7, /*PFL_NORECRUITS |*/ PFL_NOMAGIC /*| PFL_NOBUILD*/); - log_printf("Neue Questenpartei %s\n", factionname(f)); + f = gm_addquest("moritzsalinger@web.de", "Laen-Kaiser", 7, /*PFL_NORECRUITS |*/ PFL_NOMAGIC /*| PFL_NOBUILD*/); + log_printf("Neue Questenpartei %s\n", factionname(f)); - f = gm_addquest("Denise.Muenstermann@home.gelsen-net.de", "Mochikas Queste", 7, PFL_NOMAGIC); - log_printf("Neue Questenpartei %s\n", factionname(f)); + f = gm_addquest("Denise.Muenstermann@home.gelsen-net.de", "Mochikas Queste", 7, PFL_NOMAGIC); + log_printf("Neue Questenpartei %s\n", factionname(f)); - f = gm_addquest("feeron@aol.com", "Eternath", 11, 0); - log_printf("Neue Questenpartei %s\n", factionname(f)); - - f = gm_addquest("BigBear@nord-com.net", "Leonidas Verm�chtnis", 15, PFL_NOMAGIC|PFL_NOSTEALTH); - log_printf("Neue Questenpartei %s\n", factionname(f)); + f = gm_addquest("feeron@aol.com", "Eternath", 11, 0); + log_printf("Neue Questenpartei %s\n", factionname(f)); + + f = gm_addquest("BigBear@nord-com.net", "Leonidas Verm�chtnis", 15, PFL_NOMAGIC|PFL_NOSTEALTH); + log_printf("Neue Questenpartei %s\n", factionname(f)); } @@ -2164,8 +2147,9 @@ korrektur(void) #endif make_gms(); /* Wieder entfernen! */ +#ifdef BROKEN_OWNERS verify_owners(false); - +#endif /* fix_herbtypes(); */ #ifdef CONVERT_TRIGGER convert_triggers(); @@ -2174,8 +2158,9 @@ korrektur(void) fix_allies(); do_once(atoi36("fhrb"), fix_herbs()); do_once(atoi36("ftos"), fix_timeouts()); - do_once(atoi36("gmtst"), test_gmquest()); /* test gm quests */ do_once(atoi36("fixsl"), fix_prices()); + do_once(atoi36("gmtst"), test_gmquest()); /* test gm quests */ + update_gmquests(); /* test gm quests */ #ifndef SKILLFIX_SAVE fix_skills(); #endif @@ -2189,12 +2174,6 @@ korrektur(void) break; case 189: break; - case 190: - give_questling(); - break; - case 191: - give_questling(); /* try again */ - break; case 194: remove_impossible_dragontargets(); break; diff --git a/src/eressea/main.c b/src/eressea/main.c index 61deb172e..877226141 100644 --- a/src/eressea/main.c +++ b/src/eressea/main.c @@ -1,6 +1,6 @@ /* vi: set ts=2: * - * $Id: main.c,v 1.19 2001/03/04 18:41:27 enno Exp $ + * $Id: main.c,v 1.20 2001/04/12 17:21:46 enno Exp $ * Eressea PB(E)M host Copyright (C) 1998-2000 * Christian Schlittchen (corwin@amber.kn-bremen.de) * Katja Zedel (katze@felidae.kn-bremen.de) @@ -55,6 +55,7 @@ #include <plane.h> #include <race.h> #include <reports.h> +#include <creport.h> #include <region.h> #include <save.h> #include <ship.h> @@ -126,6 +127,11 @@ game_init(void) { init_triggers(); + report_init(); + creport_init(); + + init_locales(); + init_races(); init_spells(); init_resources(); @@ -259,8 +265,6 @@ processturn(char *filename) return 0; } -extern void creport_cleanup(void); -extern void reports_cleanup(void); extern void freeland(land_region * lr); static void @@ -327,7 +331,7 @@ game_done(void) leak_report(stderr); #endif creport_cleanup(); - reports_cleanup(); + report_cleanup(); } #include "magic.h" @@ -532,7 +536,7 @@ main(int argc, char *argv[]) setlocale(LC_ALL, ""); #ifdef LOCALE_CHECK if (!locale_check()) { - puts("ERROR: The current locale is not suitable for international Eressea.\n"); + log_error(("The current locale is not suitable for international Eressea.\n")); return -1; } #endif diff --git a/src/res/de/messages.xml b/src/res/de/messages.xml index 8d7e3cce2..7d6d34129 100644 --- a/src/res/de/messages.xml +++ b/src/res/de/messages.xml @@ -1,5315 +1,6424 @@ <messages> <message name="msg_errors"> - <param name="string" type="string"></param> + <type> + <arg name="string" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> + <nr section="errors"> <text>"$string"</text> </nr> </locale> </message> -<message name="mistake"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="error" type="string"></param> +<message name="no_attack_after_advance"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - $error."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist noch zu ersch�pft vom Einmarsch um zu attackieren."</text> + </nr> + </locale> + <locale name="de"> + <nr section="errors"> + <text>"'$command' - $unit($unit) marched into $region($region) during the last turn and is too exhausted to attack."</text> + </nr> + </locale> +</message> + +<message name="mistake"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="error" type="string"></arg> + </type> + <locale name="de"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - $error."</text> </nr> </locale> </message> <message name="error1"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Auf dem Schiff befinden sich zuwenig erfahrene Seeleute."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Auf dem Schiff befinden sich zuwenig erfahrene Seeleute."</text> + </nr> + </locale> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - There are not enough experienced sailors on board the ship."</text> </nr> </locale> </message> <message name="error2"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Auf hoher See kann man nicht bewachen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Auf hoher See kann man nicht bewachen."</text> </nr> </locale> </message> <message name="error3"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Beschreibung zu lang - gek�rzt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Beschreibung zu lang - gek�rzt."</text> </nr> </locale> </message> <message name="error4"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Geb�ude ist bereits fertig."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Geb�ude ist bereits fertig."</text> </nr> </locale> </message> <message name="error5"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Geb�ude geh�rt uns nicht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Geb�ude geh�rt uns nicht."</text> </nr> </locale> </message> <message name="error6"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Geb�ude wurde nicht gefunden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Geb�ude wurde nicht gefunden."</text> </nr> </locale> </message> <message name="error7"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das geht nicht mehr."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das geht nicht mehr."</text> </nr> </locale> </message> <message name="error8"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das ist sinnlos."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das ist sinnlos."</text> </nr> </locale> </message> <message name="error9"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das kann man nicht sabotieren."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das kann man nicht sabotieren."</text> </nr> </locale> </message> <message name="error10"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das macht wenig Sinn."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das macht wenig Sinn."</text> </nr> </locale> </message> <message name="error11"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Schiff befindet sich auf hoher See."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Schiff befindet sich auf hoher See."</text> </nr> </locale> </message> <message name="error12"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Schiff geh�rt uns nicht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Schiff geh�rt uns nicht."</text> </nr> </locale> </message> <message name="error13"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Schiff hat sich bereits bewegt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Schiff hat sich bereits bewegt."</text> </nr> </locale> </message> <message name="error14"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Schiff ist auf hoher See."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Schiff ist auf hoher See."</text> </nr> </locale> </message> <message name="error15"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Schiff ist noch nicht fertig gebaut."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Schiff ist noch nicht fertig gebaut."</text> </nr> </locale> </message> <message name="error16"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Schiff ist schon fertig."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Schiff ist schon fertig."</text> </nr> </locale> </message> <message name="error17"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Schiff ist zu schwer beladen, um fliegen zu k�nnen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Schiff ist zu schwer beladen, um fliegen zu k�nnen."</text> </nr> </locale> </message> <message name="error18"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Schiff ist zu schwer beladen, um in See zu stechen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Schiff ist zu schwer beladen, um in See zu stechen."</text> </nr> </locale> </message> <message name="error19"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Schiff mu� erst verlassen werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Schiff mu� erst verlassen werden."</text> </nr> </locale> </message> <message name="error20"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Schiff wurde nicht gefunden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Schiff wurde nicht gefunden."</text> </nr> </locale> </message> <message name="error21"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dazu gibt es keine Informationen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dazu gibt es keine Informationen."</text> </nr> </locale> </message> <message name="error22"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Befehl wurde nicht erkannt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Befehl wurde nicht erkannt."</text> </nr> </locale> </message> <message name="error23"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Belagerungszustand macht die Kontaktaufnahme unm�glich."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Belagerungszustand macht die Kontaktaufnahme unm�glich."</text> </nr> </locale> </message> <message name="error24"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Belagerungszustand macht Spionage unm�glich."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Belagerungszustand macht Spionage unm�glich."</text> </nr> </locale> </message> <message name="error25"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Fluch verhindert das."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Fluch verhindert das."</text> </nr> </locale> </message> <message name="error26"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Anzahl zu kaufender Produkte fehlt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Anzahl zu kaufender Produkte fehlt."</text> </nr> </locale> </message> <message name="error27"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Anzahl zu verkaufender Produkte fehlt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Anzahl zu verkaufender Produkte fehlt."</text> </nr> </locale> </message> <message name="error28"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Bauern sind schlecht gelaunt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Bauern sind schlecht gelaunt."</text> </nr> </locale> </message> <message name="error29"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Beschreibung von Monumenten kann man nicht ver�ndern."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Beschreibung von Monumenten kann man nicht ver�ndern."</text> </nr> </locale> </message> <message name="error30"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Botschaft enth�lt keinen Text."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Botschaft enth�lt keinen Text."</text> </nr> </locale> </message> <message name="error31"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Burg wurde nicht gefunden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Burg wurde nicht gefunden."</text> </nr> </locale> </message> <message name="error32"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit befindet sich nicht an Bord unseres Schiffes."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit befindet sich nicht an Bord unseres Schiffes."</text> </nr> </locale> </message> <message name="error33"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit befindet sich nicht in unserer Burg."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit befindet sich nicht in unserer Burg."</text> </nr> </locale> </message> <message name="error34"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit darf nicht an Bord kommen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit darf nicht an Bord kommen."</text> </nr> </locale> </message> <message name="error35"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit hat diese Kr�uter nicht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit hat diese Kr�uter nicht."</text> </nr> </locale> </message> <message name="error36"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit hat diesen Gegenstand nicht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit hat diesen Gegenstand nicht."</text> </nr> </locale> </message> <message name="error37"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit hat diesen Trank nicht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit hat diesen Trank nicht."</text> </nr> </locale> </message> <message name="error38"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit hat keine Kr�uter."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit hat keine Kr�uter."</text> </nr> </locale> </message> <message name="error39"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit hat keine Spionage gelernt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit hat keine Spionage gelernt."</text> </nr> </locale> </message> <message name="error40"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit hat keinen Kontakt mit uns aufgenommen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit hat keinen Kontakt mit uns aufgenommen."</text> </nr> </locale> </message> <message name="error41"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit hat nicht genug Silber."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit hat nicht genug Silber."</text> </nr> </locale> </message> <message name="error42"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit hat nicht genug Wagenlenker oder zuviel andere Fracht, um die Wagen aufzuladen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit hat nicht genug Wagenlenker oder zuviel andere Fracht, um die Wagen aufzuladen."</text> </nr> </locale> </message> <message name="error43"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit hat soetwas nicht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit hat soetwas nicht."</text> </nr> </locale> </message> <message name="error44"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit ist auf hoher See."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist auf hoher See."</text> </nr> </locale> </message> <message name="error45"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit ist eine der unsrigen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist eine der unsrigen."</text> </nr> </locale> </message> <message name="error46"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit ist in keiner Taverne."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist in keiner Taverne."</text> </nr> </locale> </message> <message name="error47"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit ist mit uns alliiert."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist mit uns alliiert."</text> </nr> </locale> </message> <message name="error48"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit ist nicht bewaffnet und kampff�hig."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist nicht bewaffnet und kampff�hig."</text> </nr> </locale> </message> <message name="error49"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit ist nicht der Eigent�mer."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist nicht der Eigent�mer."</text> </nr> </locale> </message> <message name="error50"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit ist nicht erfahren genug daf�r."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist nicht erfahren genug daf�r."</text> </nr> </locale> </message> <message name="error51"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit hat nicht genug Silber."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit hat nicht genug Silber."</text> </nr> </locale> </message> <message name="error52"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit ist vom Kampf ersch�pft."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist vom Kampf ersch�pft."</text> </nr> </locale> </message> <message name="error53"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit kann keine Tr�nke herstellen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit kann keine Tr�nke herstellen."</text> </nr> </locale> </message> <message name="error54"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit kann nicht handeln."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit kann nicht handeln."</text> </nr> </locale> </message> <message name="error55"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit kann sich nicht fortbewegen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit kann sich nicht fortbewegen."</text> </nr> </locale> </message> <message name="error56"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit kann soviele Pferde nicht b�ndigen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit kann soviele Pferde nicht b�ndigen."</text> </nr> </locale> </message> <message name="error57"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit tr�gt zuviel Gewicht, um sich bewegen zu k�nnen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit tr�gt zuviel Gewicht, um sich bewegen zu k�nnen."</text> </nr> </locale> </message> <message name="error58"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit wei� nicht, wie man gaukelt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit wei� nicht, wie man gaukelt."</text> </nr> </locale> </message> <message name="error59"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit wei� nichts �ber Botanik."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit wei� nichts �ber Botanik."</text> </nr> </locale> </message> <message name="error63"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit wurde nicht gefunden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit wurde nicht gefunden."</text> </nr> </locale> </message> <message name="error64"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit wurde nicht gefunden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit wurde nicht gefunden."</text> </nr> </locale> </message> <message name="error65"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Lernkosten k�nnen nicht bezahlt werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Lernkosten k�nnen nicht bezahlt werden."</text> </nr> </locale> </message> <message name="error66"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Partei wurde nicht gefunden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Partei wurde nicht gefunden."</text> </nr> </locale> </message> <message name="error67"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Pferde w�rden ertrinken."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Pferde w�rden ertrinken."</text> </nr> </locale> </message> <message name="error70"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Region wird von Nichtalliierten bewacht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Region wird von Nichtalliierten bewacht."</text> </nr> </locale> </message> <message name="error71"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Richtung wurde nicht erkannt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Richtung wurde nicht erkannt."</text> </nr> </locale> </message> <message name="error72"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Ziel-Einheit hat keinen Kontakt mit uns aufgenommen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Ziel-Einheit hat keinen Kontakt mit uns aufgenommen."</text> </nr> </locale> </message> <message name="error73"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Zieleinheit hat uns nicht kontaktiert."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Zieleinheit hat uns nicht kontaktiert."</text> </nr> </locale> </message> <message name="error74"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Eine hungernde Einheit kann niemanden weggeben."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Eine hungernde Einheit kann niemanden weggeben."</text> </nr> </locale> </message> <message name="error75"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit nimmt niemanden an."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit nimmt niemanden an."</text> </nr> </locale> </message> <message name="error76"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Diesen Gegenstand kann man nicht benutzen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Diesen Gegenstand kann man nicht benutzen."</text> </nr> </locale> </message> <message name="error77"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dieses Talent wurde nicht erkannt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dieses Talent wurde nicht erkannt."</text> </nr> </locale> </message> <message name="error78"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Ein Fluch verhindert die �bergabe."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Ein Fluch verhindert die �bergabe."</text> </nr> </locale> </message> <message name="error79"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Ein Schiff oder eine Burg mu� angegeben werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Ein Schiff oder eine Burg mu� angegeben werden."</text> </nr> </locale> </message> <message name="error80"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Einheit ist nicht bewaffnet und kampff�hig."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Einheit ist nicht bewaffnet und kampff�hig."</text> </nr> </locale> </message> <message name="error81"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Einheit mu� zuerst die Region bewachen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Einheit mu� zuerst die Region bewachen."</text> </nr> </locale> </message> <message name="error82"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Es gibt keine Abstimmung mit dieser Nummer."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Es gibt keine Abstimmung mit dieser Nummer."</text> </nr> </locale> </message> <message name="error83"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Es konnte kein Bauer gefangen werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Es konnte kein Bauer gefangen werden."</text> </nr> </locale> </message> <message name="error84"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Es wurde kein Name angegeben."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Es wurde kein Name angegeben."</text> </nr> </locale> </message> <message name="error85"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Es wurde keine EMail-Adresse angegeben."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Es wurde keine EMail-Adresse angegeben."</text> </nr> </locale> </message> <message name="error86"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Falsches Passwort."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Falsches Passwort."</text> </nr> </locale> </message> <message name="error87"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - F�r das Elixier ben�tigt man Drachenblut."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - F�r das Elixier ben�tigt man Drachenblut."</text> </nr> </locale> </message> <message name="error88"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - F�r den Schiffbau braucht man Holz."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - F�r den Schiffbau braucht man Holz."</text> </nr> </locale> </message> <message name="error89"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Geldgebot fehlt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Geldgebot fehlt."</text> </nr> </locale> </message> <message name="error90"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit hat keinen FAHRE-Befehl."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit f�hrt nicht mit uns."</text> </nr> </locale> </message> <message name="error91"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hier gibt es keine Mallornb�ume."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hier gibt es keine Mallornb�ume."</text> </nr> </locale> </message> <message name="error92"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hier gibt es keinen normalen Wald."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hier gibt es keinen normalen Wald."</text> </nr> </locale> </message> <message name="error93"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hier gibt es schon einen Hafen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hier gibt es schon einen Hafen."</text> </nr> </locale> </message> <message name="error94"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hier kann man keine Stra�e bauen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hier kann man keine Stra�e bauen."</text> </nr> </locale> </message> <message name="error95"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Illusionen k�nnen eine Region nicht bewachen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Illusionen k�nnen eine Region nicht bewachen."</text> </nr> </locale> </message> <message name="error96"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - In dieser Einheit gibt es niemanden, den man transferieren k�nnte."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - In dieser Einheit gibt es niemanden, den man transferieren k�nnte."</text> </nr> </locale> </message> <message name="error97"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - In Gletschern k�nnen keine Insekten rekrutiert werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - In Gletschern k�nnen keine Insekten rekrutiert werden."</text> </nr> </locale> </message> <message name="error98"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Insekten k�nnen im Winter nur in W�sten rekrutiert werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Insekten k�nnen im Winter nur in W�sten rekrutiert werden."</text> </nr> </locale> </message> <message name="error99"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Kann die zu transportierende Einheit nicht finden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Kann die zu transportierende Einheit nicht finden."</text> </nr> </locale> </message> <message name="error100"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Keiner hier ist gelernter Schiffbauer."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Keiner hier ist gelernter Schiffbauer."</text> </nr> </locale> </message> <message name="error101"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Keiner hier kann ein Geb�ude errichten."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Keiner hier kann ein Geb�ude errichten."</text> </nr> </locale> </message> <message name="error102"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Keiner hier kann handeln."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Keiner hier kann handeln."</text> </nr> </locale> </message> <message name="error103"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Keiner hier kann Stra�en bauen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Keiner hier kann Stra�en bauen."</text> </nr> </locale> </message> <message name="error104"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Laen kann nur einem Bergwerk abgebaut werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Laen kann nur einem Bergwerk abgebaut werden."</text> </nr> </locale> </message> <message name="error105"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Leere Einheiten k�nnen nicht �bergeben werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Leere Einheiten k�nnen nicht �bergeben werden."</text> </nr> </locale> </message> <message name="error106"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Magier m�ssen zum studieren allein sein."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Magier m�ssen zum studieren allein sein."</text> </nr> </locale> </message> <message name="error107"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Man braucht mindestens zwei Pferde, um sie zu z�chten."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Man braucht mindestens zwei Pferde, um sie zu z�chten."</text> </nr> </locale> </message> <message name="error108"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Es sind keine Kr�uter zu finden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Es sind keine Kr�uter zu finden."</text> </nr> </locale> </message> <message name="error109"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Man mu� angeben, ob eine Burg, ein Schiff, eine Einheit, eine Region oder eine Partei benannt werden soll."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Man mu� angeben, ob eine Burg, ein Schiff, eine Einheit, eine Region oder eine Partei benannt werden soll."</text> </nr> </locale> </message> <message name="error110"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Man mu� angeben, ob eine Burg, ein Schiff, eine Region oder eine Einheit beschrieben werden soll."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Man mu� angeben, ob eine Burg, ein Schiff, eine Region oder eine Einheit beschrieben werden soll."</text> </nr> </locale> </message> <message name="error111"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Nachricht zu lang - gek�rzt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nachricht zu lang - gek�rzt."</text> </nr> </locale> </message> <message name="error112"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Namen d�rfen keine Klammern enthalten."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Namen d�rfen keine Klammern enthalten."</text> </nr> </locale> </message> <message name="error113"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Nichts angegeben, was wir �bergeben sollen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nichts angegeben, was wir �bergeben sollen."</text> </nr> </locale> </message> <message name="error114"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Nummer ist nicht im g�ltigen Bereich."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nummer ist nicht im g�ltigen Bereich."</text> </nr> </locale> </message> <message name="error115"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Nummer ist schon belegt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nummer ist schon belegt."</text> </nr> </locale> </message> <message name="error116"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Nummer kann nicht vergeben werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nummer kann nicht vergeben werden."</text> </nr> </locale> </message> <message name="error117"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Nur die EMail-Adresse angeben!"</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nur die EMail-Adresse angeben!"</text> </nr> </locale> </message> <message name="error118"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Nur Elfen k�nnen diese B�gen herstellen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nur Elfen k�nnen diese B�gen herstellen."</text> </nr> </locale> </message> <message name="error119"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Ohne eine Burg gibt es keinen Markt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Ohne eine Burg gibt es keinen Markt."</text> </nr> </locale> </message> <message name="error120"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Personen k�nnen nur an Menschen �bergeben werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Personen k�nnen nur an Menschen �bergeben werden."</text> </nr> </locale> </message> <message name="error122"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Pferde kann man nur in einer Pferdezucht z�chten."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Pferde kann man nur in einer Pferdezucht z�chten."</text> </nr> </locale> </message> <message name="error123"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - So etwas hat die Einheit nicht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - So etwas hat die Einheit nicht."</text> </nr> </locale> </message> <message name="error124"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - So etwas kann man nicht auf dem Markt kaufen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - So etwas kann man nicht auf dem Markt kaufen."</text> </nr> </locale> </message> <message name="error125"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - So etwas kann man nicht machen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - So etwas kann man nicht machen."</text> </nr> </locale> </message> <message name="error126"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - So etwas kann man nicht verkaufen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - So etwas kann man nicht verkaufen."</text> </nr> </locale> </message> <message name="error127"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - So viele Fremde kann Deine Partei nicht aufnehmen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - So viele Fremde kann Deine Partei nicht aufnehmen."</text> </nr> </locale> </message> <message name="error128"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - So viele Fremde kann die Partei nicht aufnehmen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - So viele Fremde kann die Partei nicht aufnehmen."</text> </nr> </locale> </message> <message name="error129"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - So viele Leute kann die Partei nicht aufnehmen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - So viele Leute kann die Partei nicht aufnehmen."</text> </nr> </locale> </message> <message name="error130"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Syntax: MAGIEGEBIET <1-5>."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Syntax: MAGIEGEBIET <1-5>."</text> </nr> </locale> </message> <message name="error131"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Um in Gletschern Stra�en bauen zu k�nnen, mu� zuerst ein Tunnel errichtet werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Um in Gletschern Stra�en bauen zu k�nnen, mu� zuerst ein Tunnel errichtet werden."</text> </nr> </locale> </message> <message name="error132"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Um in S�mpfen Stra�en bauen zu k�nnen, mu� zuerst ein Damm errichtet werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Um in S�mpfen Stra�en bauen zu k�nnen, mu� zuerst ein Damm errichtet werden."</text> </nr> </locale> </message> <message name="error133"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Um in W�sten Stra�en bauen zu k�nnen, mu� zuerst eine Karawanserei errichtet werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Um in W�sten Stra�en bauen zu k�nnen, mu� zuerst eine Karawanserei errichtet werden."</text> </nr> </locale> </message> <message name="error134"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Unbekannte Meldungs-Option."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Unbekannte Meldungs-Option."</text> </nr> </locale> </message> <message name="error137"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Unbekannter Hilfe-Modus."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Unbekannter Hilfe-Modus."</text> </nr> </locale> </message> <message name="error138"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Uns geh�rt nichts, was man abrei�en oder versenken k�nnte."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Uns geh�rt nichts, was man abrei�en oder versenken k�nnte."</text> </nr> </locale> </message> <message name="error139"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Unterschiedliche Typen k�nnen nicht gemischt werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Unterschiedliche Typen k�nnen nicht gemischt werden."</text> </nr> </locale> </message> <message name="error140"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit befindet sich weder in einer Burg noch in einem Schiff."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit befindet sich weder in einer Burg noch in einem Schiff."</text> </nr> </locale> </message> <message name="error141"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit hat nicht mehr genug Kristalle f�r so viele Personen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit hat nicht mehr genug Kristalle f�r so viele Personen."</text> </nr> </locale> </message> <message name="error142"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit hat zuwenig Silber, um zu rekrutieren."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit hat zuwenig Silber, um zu rekrutieren."</text> </nr> </locale> </message> <message name="error143"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit ist auf einem Schiff."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist auf einem Schiff."</text> </nr> </locale> </message> <message name="error144"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit ist auf keinem Schiff."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist auf keinem Schiff."</text> </nr> </locale> </message> <message name="error145"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit ist in keiner Burg."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist in keiner Burg."</text> </nr> </locale> </message> <message name="error146"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit ist nicht der Kapit�n des Schiffes."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist nicht der Kapit�n des Schiffes."</text> </nr> </locale> </message> <message name="error147"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit ist nicht Burgherr der gr��ten Burg in der Region."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist nicht Burgherr der gr��ten Burg in der Region."</text> </nr> </locale> </message> <message name="error148"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit ist nicht der Burgherr."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist nicht der Burgherr."</text> </nr> </locale> </message> <message name="error149"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Wohin soll die Botschaft gehen?"</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Wohin soll die Botschaft gehen?"</text> </nr> </locale> </message> <message name="error150"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Zum Pflanzen braucht man mindestens Kr�uterkunde 6."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Zum Pflanzen braucht man mindestens Kr�uterkunde 6."</text> </nr> </locale> </message> <message name="error151"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Zum Stra�enbau braucht man Steine."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Zum Stra�enbau braucht man Steine."</text> </nr> </locale> </message> <message name="error60"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit wird belagert."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit wird belagert."</text> </nr> </locale> </message> <message name="error135"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Unbekannte Option."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Unbekannte Option."</text> </nr> </locale> </message> <message name="error69"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Region wird bewacht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Region wird bewacht."</text> </nr> </locale> </message> <message name="error152"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit springt �ber Bord und ertrinkt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit springt �ber Bord und ertrinkt."</text> </nr> </locale> </message> <message name="error153"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit schlie�t sich den Bauern an."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit schlie�t sich den Bauern an."</text> </nr> </locale> </message> <message name="error154"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hochqualifizierte Personen weigern sich, f�r andere Parteien zu arbeiten."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hochqualifizierte Personen weigern sich, f�r andere Parteien zu arbeiten."</text> </nr> </locale> </message> <message name="error155"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Zuviele Magier in der Partei."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Zuviele Magier in der Partei."</text> </nr> </locale> </message> <message name="error156"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Zuviele Alchemisten in der Partei."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Zuviele Alchemisten in der Partei."</text> </nr> </locale> </message> <message name="error157"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Partei hat ein anderes Magiegebiet."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Partei hat ein anderes Magiegebiet."</text> </nr> </locale> </message> <message name="error158"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Magier arbeiten grunds�tzlich nur alleine!"</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Magier arbeiten grunds�tzlich nur alleine!"</text> </nr> </locale> </message> <message name="error159"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Es konnten keine Personen �bergeben werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Es konnten keine Personen �bergeben werden."</text> </nr> </locale> </message> <message name="error160"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Es konnten keine Luxusg�ter gekauft werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Es konnten keine Luxusg�ter gekauft werden."</text> </nr> </locale> </message> <message name="error161"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit besitzt den Trank nicht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit besitzt den Trank nicht."</text> </nr> </locale> </message> <message name="error162"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Heiltrank wird automatisch bei Bedarf benutzt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Heiltrank wird automatisch bei Bedarf benutzt."</text> </nr> </locale> </message> <message name="error163"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Nestw�rme kann nur von Insektenv�lkern benutzt werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Nestw�rme kann nur von Insektenv�lkern benutzt werden."</text> </nr> </locale> </message> <message name="error164"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit benutzte einen Nestw�rmetrank."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit benutzte einen Nestw�rmetrank."</text> </nr> </locale> </message> <message name="error165"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Trank bekommt der Einheit nicht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Trank bekommt der Einheit nicht."</text> </nr> </locale> </message> <message name="error166"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Diese Rasse kann eine Burg nicht belagern."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Diese Rasse kann eine Burg nicht belagern."</text> </nr> </locale> </message> <message name="error167"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit geht nicht zu den Bauern."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit geht nicht zu den Bauern."</text> </nr> </locale> </message> <message name="error168"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Es konnten keine Luxusg�ter verkauft werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Es konnten keine Luxusg�ter verkauft werden."</text> </nr> </locale> </message> <message name="error169"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Diesen Zauber kennt die Einheit nicht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Diesen Zauber kennt die Einheit nicht."</text> </nr> </locale> </message> <message name="error170"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Bauern nehmen dieses gro�z�gige Geschenk nicht an."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Bauern nehmen dieses gro�z�gige Geschenk nicht an."</text> </nr> </locale> </message> <message name="error171"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Diesen Kampfzauber gibt es nicht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Diesen Kampfzauber gibt es nicht."</text> </nr> </locale> </message> <message name="error172"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Es wurde kein Zauber angegeben."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Es wurde kein Zauber angegeben."</text> </nr> </locale> </message> <message name="error173"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Selbst in der Bibliothek von Xontormia konnte dieser Spruch nicht gefunden werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Selbst in der Bibliothek von Xontormia konnte dieser Spruch nicht gefunden werden."</text> </nr> </locale> </message> <message name="error174"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dieser Zauber ist nur im Kampf sinnvoll."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dieser Zauber ist nur im Kampf sinnvoll."</text> </nr> </locale> </message> <message name="error175"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Diesen Spruch kann man nicht auf einem sich bewegenden Schiff stehend zaubern."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Diesen Spruch kann man nicht auf einem sich bewegenden Schiff stehend zaubern."</text> </nr> </locale> </message> <message name="error176"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Diesen Spruch kann man nicht in die Ferne richten."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Diesen Spruch kann man nicht in die Ferne richten."</text> </nr> </locale> </message> <message name="error177"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Diesen Spruch kann der Vertraute nicht zaubern."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Diesen Spruch kann der Vertraute nicht zaubern."</text> </nr> </locale> </message> <message name="error178"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Es wurde kein Magiegebiet angegeben."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Es wurde kein Magiegebiet angegeben."</text> </nr> </locale> </message> <message name="error179"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dieses Magiegebiet kann die Einheit nicht lernen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dieses Magiegebiet kann die Einheit nicht lernen."</text> </nr> </locale> </message> <message name="error180"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Zauber schl�gt fehl."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Zauber schl�gt fehl."</text> </nr> </locale> </message> <message name="error181"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dazu mu� sich der Magier in der Burg oder an Bord des Schiffes befinden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dazu mu� sich der Magier in der Burg oder an Bord des Schiffes befinden."</text> </nr> </locale> </message> <message name="error182"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Schiff kann in diese Richtung nicht ablegen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Schiff kann in diese Richtung nicht ablegen."</text> </nr> </locale> </message> <message name="error183"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Magier befindet sich nicht auf einem Schiff."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Magier befindet sich nicht auf einem Schiff."</text> </nr> </locale> </message> <message name="error184"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit bewegt sich nicht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit bewegt sich nicht."</text> </nr> </locale> </message> <message name="error185"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Zauber scheint ungew�hnlich schwach zu sein. Irgendetwas hat die magischen Energien abgeleitet."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Zauber scheint ungew�hnlich schwach zu sein. Irgendetwas hat die magischen Energien abgeleitet."</text> </nr> </locale> </message> <message name="error186"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dieser Zauber kann nur auf Land gelegt werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dieser Zauber kann nur auf Land gelegt werden."</text> </nr> </locale> </message> <message name="error187"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hier gibt es bereits gute Stra�en."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hier gibt es bereits gute Stra�en."</text> </nr> </locale> </message> <message name="error188"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dieser Zauber kann nicht im Sumpf gezaubert werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dieser Zauber kann nicht im Sumpf gezaubert werden."</text> </nr> </locale> </message> <message name="error189"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Selbst der m�chtigste Magier der Welt k�nnte keinen Ozean austrocknen lassen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Selbst der m�chtigste Magier der Welt k�nnte keinen Ozean austrocknen lassen."</text> </nr> </locale> </message> <message name="error190"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Zauber funktioniert nur in der materiellen Welt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Zauber funktioniert nur in der materiellen Welt."</text> </nr> </locale> </message> <message name="error191"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Zauber funktioniert nur in W�ldern."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Zauber funktioniert nur in W�ldern."</text> </nr> </locale> </message> <message name="error192"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Wege zur Geisterwelt scheinen blockiert zu sein."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Wege zur Geisterwelt scheinen blockiert zu sein."</text> </nr> </locale> </message> <message name="error193"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Zauber funktioniert nur in der Geisterwelt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Zauber funktioniert nur in der Geisterwelt."</text> </nr> </locale> </message> <message name="error194"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Zielregion wurde nicht korrekt angegeben."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Zielregion wurde nicht korrekt angegeben."</text> </nr> </locale> </message> <message name="error195"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dorthin f�hrt kein Weg."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dorthin f�hrt kein Weg."</text> </nr> </locale> </message> <message name="error196"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das ist keine Waldregion."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das ist keine Waldregion."</text> </nr> </locale> </message> <message name="error197"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Um einen Heimstein zu erschaffen, mu� der Zauberer in einer Burg sein."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Um einen Heimstein zu erschaffen, mu� der Zauberer in einer Burg sein."</text> </nr> </locale> </message> <message name="error198"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Flammen finden keine Nahrung. Das Feuer erlischt, ohne Schaden anzurichten."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Flammen finden keine Nahrung. Das Feuer erlischt, ohne Schaden anzurichten."</text> </nr> </locale> </message> <message name="error199"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Magier hat bereits einen Vertrauten."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Magier hat bereits einen Vertrauten."</text> </nr> </locale> </message> <message name="error200"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die maximale Aura reicht nicht f�r diesen Zauber."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die maximale Aura reicht nicht f�r diesen Zauber."</text> </nr> </locale> </message> <message name="error201"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Rasse und Zieleinheit wurden vergessen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Rasse und Zieleinheit wurden vergessen."</text> </nr> </locale> </message> <message name="error202"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das ist keine g�ltige Rasse."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das ist keine g�ltige Rasse."</text> </nr> </locale> </message> <message name="error203"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Ziel wurde vergessen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Ziel wurde vergessen."</text> </nr> </locale> </message> <message name="error204"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - In einer Region ohne B�ume kann man diesen Zauber nicht wirken."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - In einer Region ohne B�ume kann man diesen Zauber nicht wirken."</text> </nr> </locale> </message> <message name="error205"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dieser Zauber gelingt nur in einer Ozeanregion."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dieser Zauber gelingt nur in einer Ozeanregion."</text> </nr> </locale> </message> <message name="error206"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Auf dem Geb�ude liegt bereits so ein Zauber."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Auf dem Geb�ude liegt bereits so ein Zauber."</text> </nr> </locale> </message> <message name="error207"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Zu dieser Einheit kann keine Aura �bertragen werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Zu dieser Einheit kann keine Aura �bertragen werden."</text> </nr> </locale> </message> <message name="error208"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Auraangabe fehlerhaft."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Auraangabe fehlerhaft."</text> </nr> </locale> </message> <message name="error209"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Syntax Error."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Syntax Error."</text> </nr> </locale> </message> <message name="error210"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Es ist zu gef�hrlich, ein sturmgepeitschtes Schiff fliegen zu lassen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Es ist zu gef�hrlich, ein sturmgepeitschtes Schiff fliegen zu lassen."</text> </nr> </locale> </message> <message name="error211"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Auf dem Schiff liegt bereits so ein Zauber."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Auf dem Schiff liegt bereits so ein Zauber."</text> </nr> </locale> </message> <message name="error212"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Magier befindet sich nicht auf einem Schiff."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Magier befindet sich nicht auf einem Schiff."</text> </nr> </locale> </message> <message name="error213"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Parameter nicht korrekt angegeben."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Parameter nicht korrekt angegeben."</text> </nr> </locale> </message> <message name="error214"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Einheit ist kein Magier."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Einheit ist kein Magier."</text> </nr> </locale> </message> <message name="error215"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Von hier aus kann man die astrale Ebene nicht erreichen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Von hier aus kann man die astrale Ebene nicht erreichen."</text> </nr> </locale> </message> <message name="error216"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hier gibt es keine Verbindung zur astralen Welt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hier gibt es keine Verbindung zur astralen Welt."</text> </nr> </locale> </message> <message name="error217"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dieser Zauber kann nur im Astralraum gezaubert werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dieser Zauber kann nur im Astralraum gezaubert werden."</text> </nr> </locale> </message> <message name="error218"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die materielle Welt ist hier nicht sichtbar."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die materielle Welt ist hier nicht sichtbar."</text> </nr> </locale> </message> <message name="error220"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Im astralen Nebel konnte niemand entdeckt werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Im astralen Nebel konnte niemand entdeckt werden."</text> </nr> </locale> </message> <message name="error221"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - So etwas kann man nicht bauen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - So etwas kann man nicht bauen."</text> </nr> </locale> </message> <message name="error222"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Zeige alle was?"</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Zeige alle was?"</text> </nr> </locale> </message> <message name="error223"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hungernde Einheiten k�nnen nicht bewachen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hungernde Einheiten k�nnen nicht bewachen."</text> </nr> </locale> </message> <message name="error224"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hungernde Einheiten k�nnen nicht zaubern."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hungernde Einheiten k�nnen nicht zaubern."</text> </nr> </locale> </message> <message name="error225"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hungernde Soldaten k�mpfen nicht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hungernde Soldaten k�mpfen nicht."</text> </nr> </locale> </message> <message name="error226"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Einheiten in den hinteren Reihen k�nnen nicht angreifen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Einheiten in den hinteren Reihen k�nnen nicht angreifen."</text> </nr> </locale> </message> <message name="error227"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Daf�r braucht ein Einheit mindestens Kr�uterkunde 7."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Daf�r braucht ein Einheit mindestens Kr�uterkunde 7."</text> </nr> </locale> </message> <message name="error228"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Nur normale Personen k�nnen Steuern eintreiben."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nur normale Personen k�nnen Steuern eintreiben."</text> </nr> </locale> </message> <message name="error229"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Ein Vertrauter wird beschworen, verschwindet jedoch wieder, als er keine Verbindung zu seinem Element herstellen kann."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Ein Vertrauter wird beschworen, verschwindet jedoch wieder, als er keine Verbindung zu seinem Element herstellen kann."</text> </nr> </locale> </message> <message name="error230"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dorthin kann die Einheit uns nicht transportieren."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dorthin kann die Einheit uns nicht transportieren."</text> </nr> </locale> </message> <message name="error231"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit oder ihre Tiere w�rden dort nicht �berleben."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit oder ihre Tiere w�rden dort nicht �berleben."</text> </nr> </locale> </message> <message name="error232"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Schwimmer k�nnen keine Geb�ude betreten."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Schwimmer k�nnen keine Geb�ude betreten."</text> </nr> </locale> </message> <message name="error233"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Schwimmer k�nnen keine Schiffe betreten."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Schwimmer k�nnen keine Schiffe betreten."</text> </nr> </locale> </message> <message name="error234"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit ist mit Ausschiffen besch�ftigt.."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit ist mit Ausschiffen besch�ftigt.."</text> </nr> </locale> </message> <message name="error235"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - F�r das Geb�ude wurde noch kein Unterhalt bezahlt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - F�r das Geb�ude wurde noch kein Unterhalt bezahlt."</text> </nr> </locale> </message> <message name="error236"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Geb�ude ist noch nicht fertig gebaut."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Geb�ude ist noch nicht fertig gebaut."</text> </nr> </locale> </message> <message name="error237"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Region befindet sich in Aufruhr."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Region befindet sich in Aufruhr."</text> </nr> </locale> </message> <message name="error238"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hier k�nnen nur Orks rekrutiert werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hier k�nnen nur Orks rekrutiert werden."</text> </nr> </locale> </message> <message name="error239"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Soll eine Einheit oder ein Schiff eine neue Nummer bekommen?"</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Soll eine Einheit oder ein Schiff eine neue Nummer bekommen?"</text> </nr> </locale> </message> <message name="error240"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Soll eine Einheit oder ein Schiff verfolgt werden?"</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Soll eine Einheit oder ein Schiff verfolgt werden?"</text> </nr> </locale> </message> <message name="error241"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Partei mu� mindestens 100 Wochen alt sein."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Partei mu� mindestens 100 Wochen alt sein."</text> </nr> </locale> </message> <message name="error242"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit mu� sich an Land befinden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit mu� sich an Land befinden."</text> </nr> </locale> </message> <message name="error243"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Keine g�ltige Rasse angegeben."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Keine g�ltige Rasse angegeben."</text> </nr> </locale> </message> <message name="error244"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit hat schon einen Namen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit hat schon einen Namen."</text> </nr> </locale> </message> <message name="error245"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Schiff hat schon einen Namen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Schiff hat schon einen Namen."</text> </nr> </locale> </message> <message name="error246"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Geb�ude hat schon einen Namen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Geb�ude hat schon einen Namen."</text> </nr> </locale> </message> <message name="error247"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Partei hat schon einen Namen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Partei hat schon einen Namen."</text> </nr> </locale> </message> <message name="error248"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Partei mu� mindestens 10 Runden alt sein."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Partei mu� mindestens 10 Runden alt sein."</text> </nr> </locale> </message> <message name="error249"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Schiff kann nicht aufs offene Meer hinaus segeln."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das Schiff kann nicht aufs offene Meer hinaus segeln."</text> </nr> </locale> </message> <message name="error250"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Nicht genug Karma."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nicht genug Karma."</text> </nr> </locale> </message> <message name="error251"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Diese Kraft haben uns die G�tter schon gew�hrt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Diese Kraft k�nnen selbst die G�tter nicht mehr m�chtiger machen."</text> </nr> </locale> </message> <message name="error252"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Was und wieviel soll geopfert werden?"</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Was und wieviel soll geopfert werden?"</text> </nr> </locale> </message> <message name="error253"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Magier ist nicht stark genug, sich den G�ttern zu opfern."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Magier ist nicht stark genug, sich den G�ttern zu opfern."</text> </nr> </locale> </message> <message name="error254"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Auraangabe fehlerhaft oder zuwenig Aura."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Auraangabe fehlerhaft oder zuwenig Aura."</text> </nr> </locale> </message> <message name="error255"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Soetwas kann man nicht opfern."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Soetwas kann man nicht opfern."</text> </nr> </locale> </message> <message name="error256"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Um soetwas kann man nicht beten."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Um soetwas kann man nicht beten."</text> </nr> </locale> </message> <message name="error257"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Ung�ltiges Locale."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Ung�ltiges Locale."</text> </nr> </locale> </message> <message name="error258"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Zieleinheit ist ung�ltig."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Zieleinheit ist ung�ltig."</text> </nr> </locale> </message> <message name="error259"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Befehl ist nur auf Einheiten innerhalb des selben Geb�udes oder Schiffes anwendbar."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Befehl ist nur auf Einheiten innerhalb des selben Geb�udes oder Schiffes anwendbar."</text> </nr> </locale> </message> <message name="error260"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Besitzer eines Schiffes oder Geb�udes kann nicht neu sortiert werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Besitzer eines Schiffes oder Geb�udes kann nicht neu sortiert werden."</text> </nr> </locale> </message> <message name="error261"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Vor der Besitzer eines Schiffes oder Geb�udes kann nicht sortiert werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Vor der Besitzer eines Schiffes oder Geb�udes kann nicht sortiert werden."</text> </nr> </locale> </message> <message name="error262"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Partei kann keine weiteren Wyrme besitzen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Partei kann keine weiteren Wyrme besitzen."</text> </nr> </locale> </message> <message name="error263"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dieses Gut wird hier produziert."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dieses Gut wird hier produziert."</text> </nr> </locale> </message> <message name="error264"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dieses Gut hat die Einheit nicht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dieses Gut hat die Einheit nicht."</text> </nr> </locale> </message> <message name="error265"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dieser Gegenstand funktioniert nur in der normalen Welt."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dieser Gegenstand funktioniert nur in der normalen Welt."</text> </nr> </locale> </message> <message name="error266"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dieser Gegenstand funktioniert nur in der Eingangshalle."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dieser Gegenstand funktioniert nur in der Eingangshalle."</text> </nr> </locale> </message> <message name="error267"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Nur eine Einzelperson kann das Ticket benutzen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nur eine Einzelperson kann das Ticket benutzen."</text> </nr> </locale> </message> <message name="error268"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hier kann man nichts �bergeben."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hier kann man nichts �bergeben."</text> </nr> </locale> </message> <message name="error269"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hier kann man nicht zaubern."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hier kann man nicht zaubern."</text> </nr> </locale> </message> <message name="error270"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hier kann man niemanden bestehlen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hier kann man niemanden bestehlen."</text> </nr> </locale> </message> <message name="error271"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hier kann man niemanden angreifen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hier kann man niemanden angreifen."</text> </nr> </locale> </message> <message name="error272"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Pferde m�ssen leider drau�en bleiben."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Pferde m�ssen leider drau�en bleiben."</text> </nr> </locale> </message> <message name="error273"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hier kann man nicht unterrichten."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hier kann man nicht unterrichten."</text> </nr> </locale> </message> <message name="error274"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Einheit kann nicht unterrichten."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit kann nicht unterrichten."</text> </nr> </locale> </message> <message name="error275"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hier kann man keine Geb�ude errichten."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hier kann man keine Geb�ude errichten."</text> </nr> </locale> </message> <message name="error276"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Hier kann man keine Schiffe bauen."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Hier kann man keine Schiffe bauen."</text> </nr> </locale> </message> <message name="error277"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das kann die Einheit nicht."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Das kann die Einheit nicht."</text> </nr> </locale> </message> <message name="error278"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Name des Geb�udes kann nicht ge�ndert werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Der Name des Geb�udes kann nicht ge�ndert werden."</text> </nr> </locale> </message> <message name="error279"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Beschreibung des Geb�udes kann nicht ge�ndert werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Beschreibung des Geb�udes kann nicht ge�ndert werden."</text> </nr> </locale> </message> <message name="error280"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Dazu muss erst die Spezialeigenschaft erworben werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dazu muss erst die Spezialeigenschaft erworben werden."</text> </nr> </locale> </message> <message name="error281"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Gegen welche Rasse soll der Jihad ausgerufen werden?"</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Gegen welche Rasse soll der Jihad ausgerufen werden?"</text> </nr> </locale> </message> <message name="error282"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Gegen diese Rasse kann kein Jihad ausgerufen werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Gegen diese Rasse kann kein Jihad ausgerufen werden."</text> </nr> </locale> </message> <message name="error283"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Das Passwort darf nur Buchstaben und Ziffern enthalten."</text> + <nr section="events"> + <text>"$unit($unit) in $region($region): '$command' - Das Passwort darf nur Buchstaben und Ziffern enthalten."</text> </nr> </locale> </message> <message name="error284"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Nur noch nicht gest�rkte Untote k�nnen das Ziel dieses Zaubers sein."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nur noch nicht gest�rkte Untote k�nnen das Ziel dieses Zaubers sein."</text> </nr> </locale> </message> <message name="error285"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Diese Einheit kennt keine Trankrezepte."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Diese Einheit kennt keine Trankrezepte."</text> + </nr> + </locale> +</message> + +<message name="error286"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="de"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Die Einheit transportiert uns nicht."</text> + </nr> + </locale> +</message> + +<message name="error287"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="de"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Dorthin k�nnen wir die Einheit nicht transportieren."</text> + </nr> + </locale> +</message> + +<message name="error288"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="de"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Wieviel sollen wir einrei�en?"</text> </nr> </locale> </message> <message name="msg_event"> - <param name="string" type="string"></param> + <type> + <arg name="string" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> + <nr section="events"> <text>"$string"</text> </nr> </locale> </message> <message name="drown_on_ship"> - <param name="unit" type="unit"></param> - <param name="ship" type="ship"></param> - <param name="region" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit ertrinkt beim Untergang der $ship in $region."</text> + <nr section="events"> + <text>"$unit($unit) ertrinkt beim Untergang der $ship($ship) in $region($region)."</text> </nr> </locale> </message> <message name="siege"> - <param name="unit" type="unit"></param> - <param name="building" type="building"></param> - <param name="destruction" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="building" type="building"></arg> + <arg name="destruction" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit belagert $building. Dabei richten die Katapulte Zerst�rungen von $destruction Gr��enpunkten an."</text> + <nr section="events"> + <text>"$unit($unit) belagert $building($building). Dabei richten die Katapulte Zerst�rungen von $int($destruction) Gr��enpunkten an."</text> </nr> </locale> </message> <message name="recruit"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> - <param name="want" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="want" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region rekrutiert $amount $wantPersonen."</text> + <nr section="events"> + <text>"$unit($unit) in $region($region) rekrutiert $int($amount) $int($want)Personen."</text> </nr> </locale> </message> <message name="givedumb"> - <param name="unit" type="unit"></param> - <param name="recipient" type="unit"></param> - <param name="amount" type="int"></param> - <param name="discover" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="recipient" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="discover" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit gibt $recipient $amount Dumpfbackenbrot: $discover."</text> + <nr section="events"> + <text>"$unit($unit) gibt $unit($recipient) $int($amount) Dumpfbackenbrot: $discover."</text> </nr> </locale> </message> <message name="givecommand"> - <param name="unit" type="unit"></param> - <param name="receipient" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="receipient" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit gibt das Kommando an $receipient."</text> + <nr section="events"> + <text>"$unit($unit) gibt das Kommando an $unit($receipient)."</text> </nr> </locale> </message> <message name="forget"> - <param name="unit" type="unit"></param> - <param name="skill" type="skill"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="skill" type="skill"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit vergi�t $skill."</text> + <nr section="events"> + <text>"$unit($unit) vergi�t $skill($skill)."</text> </nr> </locale> </message> <message name="entermaelstrom"> - <param name="ship" type="ship"></param> - <param name="region" type="region"></param> - <param name="damage" type="int"></param> - <param name="sink" type="string"></param> + <type> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + <arg name="damage" type="int"></arg> + <arg name="sink" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die $ship f�hrt in den Mahlstrom von $region und nimmt $damage Schaden$sink."</text> + <nr section="events"> + <text>"Die $ship($ship) f�hrt in den Mahlstrom von $region($region) und nimmt $int($damage) Schaden$sink."</text> </nr> </locale> </message> <message name="storm"> - <param name="ship" type="ship"></param> - <param name="region" type="region"></param> - <param name="sink" type="string"></param> + <type> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + <arg name="sink" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die $ship wird in $region von St�rmen abgetrieben$sink."</text> + <nr section="events"> + <text>"Die $ship($ship) wird in $region($region) von St�rmen abgetrieben$sink."</text> </nr> </locale> </message> <message name="shipconf"> - <param name="ship" type="ship"></param> + <type> + <arg name="ship" type="ship"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die $ship verliert im Sturm die Orientierung."</text> + <nr section="events"> + <text>"Die $ship($ship) verliert im Sturm die Orientierung."</text> </nr> </locale> </message> <message name="shipnoconf"> - <param name="ship" type="ship"></param> + <type> + <arg name="ship" type="ship"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die $ship ist wieder auf Kurs."</text> + <nr section="events"> + <text>"Die $ship($ship) ist wieder auf Kurs."</text> </nr> </locale> </message> <message name="shipsink"> - <param name="ship" type="ship"></param> + <type> + <arg name="ship" type="ship"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die $ship ist zu stark besch�digt und sinkt."</text> + <nr section="events"> + <text>"Die $ship($ship) ist zu stark besch�digt und sinkt."</text> </nr> </locale> </message> <message name="errusingpotion"> - <param name="unit" type="unit"></param> - <param name="command" type="string"></param> - <param name="using" type="resource"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="command" type="string"></arg> + <arg name="using" type="resource"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit: '$command' - Die Einheit benutzt bereits $using."</text> + <nr section="events"> + <text>"$unit($unit): '$command' - Die Einheit benutzt bereits $resource($using,0)."</text> </nr> </locale> </message> <message name="starvation"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="dead" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="dead" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit verliert in $region $dead Personen durch Unterern�hrung."</text> + <nr section="events"> + <text>"$unit($unit) verliert in $region($region) $int($dead) Personen durch Unterern�hrung."</text> </nr> </locale> </message> <message name="malnourish"> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit wird durch unzureichende Nahrung geschw�cht."</text> + <nr section="events"> + <text>"$unit($unit) in $region($region) wird durch unzureichende Nahrung geschw�cht."</text> + </nr> + </locale> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) is weakened due to malnourishment."</text> </nr> </locale> </message> <message name="dumbeffect"> - <param name="unit" type="unit"></param> - <param name="days" type="int"></param> - <param name="skill" type="skill"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="days" type="int"></arg> + <arg name="skill" type="skill"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit vergi�t durch Dumpfbackenbrot $days Tage des Talentes $skill."</text> + <nr section="events"> + <text>"$unit($unit) vergi�t durch Dumpfbackenbrot $int($days) Tage des Talentes $skill($skill)."</text> </nr> </locale> </message> <message name="donation"> - <param name="from" type="unit"></param> - <param name="amount" type="int"></param> - <param name="to" type="region"></param> + <type> + <arg name="from" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="to" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$from spendete $amount Silber an $to."</text> + <nr section="events"> + <text>"$unit($from) spendete $int($amount) Silber an $unit($to)."</text> + </nr> + </locale> + <locale name="en"> + <nr section="none"> + <text>"$unit($from) donates $int($amount) silver to $unit($to)."</text> </nr> </locale> </message> <message name="pest"> - <param name="dead" type="int"></param> + <type> + <arg name="dead" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Hier w�tete die Pest, und $dead Bauern starben."</text> + <nr section="events"> + <text>"Hier w�tete die Pest, und $int($dead) Bauern starben."</text> </nr> </locale> </message> <message name="usepotion"> - <param name="unit" type="unit"></param> - <param name="potion" type="resource"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="potion" type="resource"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit benutzt $potion."</text> + <nr section="events"> + <text>"$unit($unit) benutzt $resource($potion,0)."</text> </nr> </locale> </message> <message name="spydetect"> - <param name="target" type="unit"></param> - <param name="spy" type="unit"></param> + <type> + <arg name="target" type="unit"></arg> + <arg name="spy" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$target f�hlt sich durch $spy beobachtet."</text> + <nr section="events"> + <text>"$unit($target) f�hlt sich durch $unit($spy) beobachtet."</text> </nr> </locale> </message> <message name="spyfail"> - <param name="spy" type="unit"></param> - <param name="target" type="unit"></param> + <type> + <arg name="spy" type="unit"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$spy gelang es nicht, etwas �ber $target herauszufinden."</text> + <nr section="events"> + <text>"$unit($spy) gelang es nicht, etwas �ber $unit($target) herauszufinden."</text> </nr> </locale> </message> <message name="stealfail"> - <param name="unit" type="unit"></param> - <param name="target" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit gelang es nicht, sich nahe genug an $target heranzuschleichen."</text> + <nr section="events"> + <text>"$unit($unit) gelang es nicht, sich nahe genug an $unit($target) heranzuschleichen."</text> </nr> </locale> </message> <message name="stealdetect"> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit f�hlt sich bebachtet."</text> + <nr section="events"> + <text>"$unit($unit) f�hlt sich beobachtet."</text> </nr> </locale> </message> <message name="stealfatal"> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit wurde beim versuchten Diebstahl ertappt."</text> + <nr section="events"> + <text>"$unit($unit) wurde beim versuchten Diebstahl ertappt."</text> </nr> </locale> </message> <message name="thiefdiscover"> - <param name="target" type="unit"></param> - <param name="unit" type="unit"></param> + <type> + <arg name="target" type="unit"></arg> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$target ertappte $unit beim versuchten Diebstahl."</text> + <nr section="events"> + <text>"$unit($target) ertappte $unit($unit) beim versuchten Diebstahl."</text> </nr> </locale> </message> <message name="stealeffect"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit wurde in $region beklaut."</text> + <nr section="events"> + <text>"$unit($unit) wurde in $region($region) beklaut."</text> </nr> </locale> </message> <message name="newbieimmunity"> - <param name="turns" type="int"></param> + <type> + <arg name="turns" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Deine Partei ist noch $turns Wochen immun gegen Angriffe."</text> + <nr section="events"> + <text>"Deine Partei ist noch $int($turns) Wochen immun gegen Angriffe."</text> </nr> </locale> </message> <message name="changebanner"> - <param name="value" type="string"></param> + <type> + <arg name="value" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> + <nr section="events"> <text>"Das Banner wurde auf '$value' ge�ndert."</text> </nr> </locale> </message> <message name="changemail"> - <param name="value" type="string"></param> + <type> + <arg name="value" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> + <nr section="events"> <text>"Die Adresse wurde auf '$value' ge�ndert."</text> </nr> </locale> </message> <message name="changepasswd"> - <param name="value" type="string"></param> + <type> + <arg name="value" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> + <nr section="events"> <text>"Das Passwort wurde auf '$value' ge�ndert."</text> </nr> </locale> </message> <message name="eatpeasants"> - <param name="unit" type="unit"></param> - <param name="amount" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit verspeiste $amount Bauern."</text> + <nr section="events"> + <text>"$unit($unit) verspeiste $int($amount) Bauern."</text> </nr> </locale> </message> <message name="absorbpeasants"> - <param name="unit" type="unit"></param> - <param name="amount" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit t�tete $amount Bauern."</text> + <nr section="events"> + <text>"$unit($unit) t�tete $int($amount) Bauern."</text> </nr> </locale> </message> <message name="fleescared"> - <param name="amount" type="int"></param> - <param name="unit" type="unit"></param> + <type> + <arg name="amount" type="int"></arg> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$amount Bauern flohen aus Furcht vor $unit."</text> + <nr section="events"> + <text>"$int($amount) Bauern flohen aus Furcht vor $unit($unit)."</text> </nr> </locale> </message> <message name="warnillusiondissolve"> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit wird sich bald verfl�chtigen."</text> + <nr section="events"> + <text>"$unit($unit) wird sich bald verfl�chtigen."</text> </nr> </locale> </message> <message name="illusiondissolve"> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit hat sich unbemerkt verfl�chtigt."</text> + <nr section="events"> + <text>"$unit($unit) hat sich unbemerkt verfl�chtigt."</text> </nr> </locale> </message> <message name="illusionantimagic"> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit marschiert in eine Antimagiezone und l�st sich auf."</text> + <nr section="events"> + <text>"$unit($unit) marschiert in eine Antimagiezone und l�st sich auf."</text> </nr> </locale> </message> <message name="shipdestroy"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="ship" type="ship"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="ship" type="ship"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region versenkt die $ship."</text> + <nr section="events"> + <text>"$unit($unit) in $region($region) versenkt die $ship($ship)."</text> + </nr> + </locale> +</message> + +<message name="shipdestroy_partial"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="ship" type="ship"></arg> + </type> + <locale name="de"> + <nr section="events"> + <text>"$unit($unit) in $region($region) besch�digt die $ship($ship)."</text> </nr> </locale> </message> <message name="orcified"> - <param name="region" type="region"></param> + <type> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Vor den vielen Orks in $region fliehen die anderen Einwohner."</text> + <nr section="events"> + <text>"Vor den vielen Orks in $region($region) fliehen die anderen Einwohner."</text> </nr> </locale> </message> <message name="deorcified"> - <param name="region" type="region"></param> + <type> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Langsam kehren andere V�lker nach $region zur�ck."</text> + <nr section="events"> + <text>"Langsam kehren andere V�lker nach $region($region) zur�ck."</text> </nr> </locale> </message> <message name="piratenovictim"> - <param name="ship" type="ship"></param> - <param name="region" type="region"></param> + <type> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die $ship in $region kann keine Schiffe aufbringen."</text> + <nr section="events"> + <text>"Die $ship($ship) in $region($region) kann keine Schiffe aufbringen."</text> </nr> </locale> </message> <message name="piratesawvictim"> - <param name="ship" type="ship"></param> - <param name="region" type="region"></param> - <param name="dir" type="direction"></param> + <type> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + <arg name="dir" type="direction"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die $ship in $region entdeckt ein Opfer im $dir."</text> + <nr section="events"> + <text>"Die $ship($ship) in $region($region) entdeckt ein Opfer im $direction($dir)."</text> </nr> </locale> </message> <message name="itemcloak"> - <param name="mage" type="unit"></param> - <param name="target" type="unit"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage legt einen Schleier um die Ausr�stung von $target."</text> + <nr section="events"> + <text>"$unit($mage) legt einen Schleier um die Ausr�stung von $unit($target)."</text> </nr> </locale> </message> <message name="scunicorn"> - <param name="unit" type="unit"></param> - <param name="amount" type="int"></param> - <param name="type" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="type" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit schlie�en sich $amount $type an."</text> + <nr section="events"> + <text>"$unit($unit) schlie�en sich $int($amount) $type an."</text> </nr> </locale> </message> <message name="buildroad"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="size" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="size" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit erweitert in $region das Stra�ennetz um $size."</text> + <nr section="events"> + <text>"$unit($unit) erweitert in $region($region) das Stra�ennetz um $int($size)."</text> </nr> </locale> </message> <message name="destroy"> - <param name="unit" type="unit"></param> - <param name="building" type="building"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="building" type="building"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit zerst�rt $building."</text> + <nr section="events"> + <text>"$unit($unit) zerst�rt $building($building)."</text> + </nr> + </locale> +</message> + +<message name="destroy_partial"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="building" type="building"></arg> + </type> + <locale name="de"> + <nr section="events"> + <text>"$unit($unit) rei�t einen Teil von $building($building) ein."</text> </nr> </locale> </message> <message name="researchherb"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> - <param name="herb" type="resource"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="herb" type="resource"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region stellt fest, da� es hier $amount $herb gibt."</text> + <nr section="events"> + <text>"$unit($unit) in $region($region) stellt fest, da� es hier $int($amount) $resource($herb,$amount) gibt."</text> </nr> </locale> </message> <message name="researchherb_none"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region kann keine Kr�uter finden."</text> + <nr section="events"> + <text>"$unit($unit) in $region($region) kann keine Kr�uter finden."</text> </nr> </locale> </message> <message name="destroy_road"> - <param name="unit" type="unit"></param> - <param name="from" type="region"></param> - <param name="to" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="from" type="region"></arg> + <arg name="to" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit rei�t die Stra�e zwischen $from und $to ein."</text> + <nr section="events"> + <text>"$unit($unit) rei�t die Stra�e zwischen $region($from) und $region($to) ein."</text> </nr> </locale> </message> <message name="desertion"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region desertiert."</text> + <nr section="events"> + <text>"$unit($unit) in $region($region) desertiert."</text> </nr> </locale> </message> <message name="volcanostartsmoke"> - <param name="region" type="region"></param> + <type> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Aus dem Vulkankrater von $region steigt pl�tzlich Rauch."</text> + <nr section="events"> + <text>"Aus dem Vulkankrater von $region($region) steigt pl�tzlich Rauch."</text> </nr> </locale> </message> <message name="volcanostopsmoke"> - <param name="region" type="region"></param> + <type> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Aus dem Vulkankrater von $region steigt kein Rauch mehr."</text> + <nr section="events"> + <text>"Aus dem Vulkankrater von $region($region) steigt kein Rauch mehr."</text> </nr> </locale> </message> <message name="volcano_dead"> - <param name="region" type="region"></param> - <param name="dead" type="int"></param> - <param name="unit" type="unit"></param> + <type> + <arg name="region" type="region"></arg> + <arg name="dead" type="int"></arg> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Beim Vulkanausbruch in $region sterben $dead Personen in $unit."</text> + <nr section="events"> + <text>"Beim Vulkanausbruch in $region($region) sterben $int($dead) Personen in $unit($unit)."</text> </nr> </locale> </message> <message name="volcanooutbreak"> - <param name="regionv" type="region"></param> - <param name="regionn" type="region"></param> + <type> + <arg name="regionv" type="region"></arg> + <arg name="regionn" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Der Vulkan in $regionv bricht aus. Die Lavamassen verw�sten $regionn."</text> + <nr section="events"> + <text>"Der Vulkan in $region($regionv) bricht aus. Die Lavamassen verw�sten $region($regionn)."</text> </nr> </locale> </message> <message name="volcanooutbreaknn"> - <param name="region" type="region"></param> + <type> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Der Vulkan in $region bricht aus."</text> + <nr section="events"> + <text>"Der Vulkan in $region($region) bricht aus."</text> </nr> </locale> </message> <message name="phunger"> - <param name="dead" type="int"></param> + <type> + <arg name="dead" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"An Unterern�hrung sterben $dead Bauern."</text> + <nr section="events"> + <text>"An Unterern�hrung sterben $int($dead) Bauern."</text> </nr> </locale> </message> <message name="renamed_seen"> - <param name="renamed" type="string"></param> - <param name="region" type="region"></param> - <param name="renamer" type="unit"></param> + <type> + <arg name="renamed" type="string"></arg> + <arg name="region" type="region"></arg> + <arg name="renamer" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$renamed in $region bekommt von $renamer einen Spitznamen."</text> + <nr section="events"> + <text>"$renamed in $region($region) bekommt von $unit($renamer) einen Spitznamen."</text> </nr> </locale> </message> <message name="renamed_notseen"> - <param name="renamed" type="string"></param> - <param name="region" type="region"></param> + <type> + <arg name="renamed" type="string"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$renamed in $region bekommt einen Spitznamen."</text> + <nr section="events"> + <text>"$renamed in $region($region) bekommt einen Spitznamen."</text> </nr> </locale> </message> <message name="renamed_ship_seen"> - <param name="ship" type="ship"></param> - <param name="region" type="region"></param> - <param name="renamer" type="unit"></param> + <type> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + <arg name="renamer" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die $ship in $region bekommt von $renamer einen Spitznamen."</text> + <nr section="events"> + <text>"Die $ship($ship) in $region($region) bekommt von $unit($renamer) einen Spitznamen."</text> </nr> </locale> </message> <message name="renamed_ship_notseen"> - <param name="ship" type="ship"></param> - <param name="region" type="region"></param> + <type> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die $ship in $region bekommt einen Spitznamen."</text> + <nr section="events"> + <text>"Die $ship($ship) in $region($region) bekommt einen Spitznamen."</text> </nr> </locale> </message> <message name="renamed_building_seen"> - <param name="building" type="building"></param> - <param name="region" type="region"></param> - <param name="renamer" type="unit"></param> + <type> + <arg name="building" type="building"></arg> + <arg name="region" type="region"></arg> + <arg name="renamer" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$building in $region bekommt von $renamer einen Spitznamen."</text> + <nr section="events"> + <text>"$building($building) in $region($region) bekommt von $unit($renamer) einen Spitznamen."</text> </nr> </locale> </message> <message name="renamed_building_notseen"> - <param name="building" type="building"></param> - <param name="region" type="region"></param> + <type> + <arg name="building" type="building"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$building in $region bekommt einen Spitznamen."</text> + <nr section="events"> + <text>"$building($building) in $region($region) bekommt einen Spitznamen."</text> </nr> </locale> </message> <message name="renamed_faction_seen"> - <param name="renamer" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="renamer" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die Partei bekommt von $renamer in $region einen Spitznamen."</text> + <nr section="events"> + <text>"Die Partei bekommt von $unit($renamer) in $region($region) einen Spitznamen."</text> </nr> </locale> </message> <message name="renamed_faction_notseen"> + <type> + </type> <locale name="de"> - <nr section="de"> + <nr section="events"> <text>"Die Partei bekommt einen Spitznamen."</text> </nr> </locale> </message> <message name="orcgrowth"> - <param name="unit" type="unit"></param> - <param name="amount" type="int"></param> - <param name="race" type="race"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="race" type="race"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit vermehrt sich um $amount $race."</text> + <nr section="events"> + <text>"$unit($unit) vermehrt sich um $int($amount) $race($race)."</text> </nr> </locale> </message> <message name="undeadrise"> - <param name="region" type="region"></param> + <type> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"In $region erhoben sich die Toten aus den Gr�bern."</text> + <nr section="events"> + <text>"In $region($region) erhoben sich die Toten aus den Gr�bern."</text> </nr> </locale> </message> <message name="entrise"> - <param name="region" type="region"></param> + <type> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"In $region erschienen die Herren der B�ume."</text> + <nr section="events"> + <text>"In $region($region) erschienen die Herren der B�ume."</text> </nr> </locale> </message> <message name="msg_movement"> - <param name="string" type="string"></param> + <type> + <arg name="string" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> + <nr section="movement"> <text>"$string"</text> </nr> </locale> </message> <message name="fogblock"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="direction" type="direction"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="direction" type="direction"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit konnte von $region nicht nach $direction ausreisen, der Nebel war zu dicht."</text> + <nr section="movement"> + <text>"$unit($unit) konnte von $region($region) nicht nach $direction($direction) ausreisen, der Nebel war zu dicht."</text> </nr> </locale> </message> <message name="moveblocked"> - <param name="unit" type="unit"></param> - <param name="direction" type="direction"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="direction" type="direction"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit entdeckt, da� es keinen Weg nach $direction gibt."</text> + <nr section="movement"> + <text>"$unit($unit) entdeckt, da� es keinen Weg nach $direction($direction) gibt."</text> </nr> </locale> </message> <message name="followfail"> - <param name="follower" type="unit"></param> - <param name="unit" type="unit"></param> + <type> + <arg name="follower" type="unit"></arg> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$follower konnte $unit nicht folgen."</text> + <nr section="movement"> + <text>"$unit($follower) konnte $unit($unit) nicht folgen."</text> </nr> </locale> </message> <message name="followdetect"> - <param name="follower" type="unit"></param> - <param name="unit" type="unit"></param> + <type> + <arg name="follower" type="unit"></arg> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$follower ist $unit gefolgt."</text> + <nr section="movement"> + <text>"$unit($follower) ist $unit($unit) gefolgt."</text> </nr> </locale> </message> <message name="leavefail"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit konnte aus $region nicht ausreisen."</text> + <nr section="movement"> + <text>"$unit($unit) konnte aus $region($region) nicht ausreisen."</text> </nr> </locale> </message> <message name="moveblockedbyguard"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="faction" type="faction"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="faction" type="faction"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit wurde in $region von $faction aufgehalten."</text> + <nr section="movement"> + <text>"$unit($unit) wurde in $region($region) von $faction($faction) aufgehalten."</text> </nr> </locale> </message> <message name="sailfail"> - <param name="ship" type="ship"></param> - <param name="region" type="region"></param> + <type> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die $ship konnte $region nicht verlassen."</text> + <nr section="movement"> + <text>"Die $ship($ship) konnte $region($region) nicht verlassen."</text> </nr> </locale> </message> <message name="detectforbidden"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit weigert sich, nach $region zu reisen."</text> + <nr section="movement"> + <text>"$unit($unit) weigert sich, nach $region($region) zu reisen."</text> </nr> </locale> </message> <message name="detectforbiddendir"> - <param name="unit" type="unit"></param> - <param name="direction" type="direction"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="direction" type="direction"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit weigert sich, nach $direction zu reisen."</text> + <nr section="movement"> + <text>"$unit($unit) weigert sich, nach $direction($direction) zu reisen."</text> </nr> </locale> </message> <message name="sailforbidden"> - <param name="ship" type="ship"></param> - <param name="region" type="region"></param> + <type> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die Mannschaft der $ship weigert sich, nach $region zu reisen."</text> + <nr section="movement"> + <text>"Die Mannschaft der $ship($ship) weigert sich, nach $region($region) zu reisen."</text> </nr> </locale> </message> <message name="sailforbiddendir"> - <param name="ship" type="ship"></param> - <param name="direction" type="direction"></param> + <type> + <arg name="ship" type="ship"></arg> + <arg name="direction" type="direction"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die Mannschaft der $ship weigert sich, nach $direction zu reisen."</text> + <nr section="movement"> + <text>"Die Mannschaft der $ship($ship) weigert sich, nach $direction($direction) zu reisen."</text> </nr> </locale> </message> <message name="sailnolanding"> - <param name="ship" type="ship"></param> - <param name="region" type="region"></param> + <type> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die $ship konnte in $region nicht einreisen, die K�ste ist zu gef�hrlich f�r das Schiff."</text> + <nr section="movement"> + <text>"Die $ship($ship) konnte in $region($region) nicht einreisen, die K�ste ist zu gef�hrlich f�r das Schiff."</text> </nr> </locale> </message> <message name="sailnolandingstorm"> - <param name="ship" type="ship"></param> + <type> + <arg name="ship" type="ship"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die Mannschaft der $ship kann in letzter Sekunde verhindern, da� das Schiff auf Land aufl�uft."</text> + <nr section="movement"> + <text>"Die Mannschaft der $ship($ship) kann in letzter Sekunde verhindern, da� das Schiff auf Land aufl�uft."</text> </nr> </locale> </message> <message name="detectocean"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit entdeckt, da� $region Ozean ist."</text> + <nr section="movement"> + <text>"$unit($unit) entdeckt, da� $region($region) Ozean ist."</text> </nr> </locale> </message> <message name="detectoceandir"> - <param name="unit" type="unit"></param> - <param name="direction" type="direction"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="direction" type="direction"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit entdeckt da� im $direction Ozean ist."</text> + <nr section="movement"> + <text>"$unit($unit) entdeckt da� im $direction($direction) Ozean ist."</text> </nr> </locale> </message> <message name="travel"> - <param name="unit" type="unit"></param> - <param name="mode" type="string"></param> - <param name="start" type="region"></param> - <param name="end" type="region"></param> - <param name="regions" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="mode" type="int"></arg> + <arg name="start" type="region"></arg> + <arg name="end" type="region"></arg> + <arg name="regions" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit $mode von $start nach $end.$regions"</text> + <nr section="movement"> + <text>"$unit($unit) $int($mode) von $region($start) nach $region($end).$regions"</text> </nr> </locale> </message> <message name="transport"> - <param name="unit" type="unit"></param> - <param name="target" type="unit"></param> - <param name="start" type="region"></param> - <param name="end" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="target" type="unit"></arg> + <arg name="start" type="region"></arg> + <arg name="end" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit transportiert $target von $start nach $end."</text> + <nr section="movement"> + <text>"$unit($unit) transportiert $unit($target) von $region($start) nach $region($end)."</text> </nr> </locale> </message> <message name="firewall_damage"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit erleidet beim Durchqueren der Feuerwand nach $region schwere Verbrennungen."</text> + <nr section="movement"> + <text>"$unit($unit) erleidet beim Durchqueren der Feuerwand nach $region($region) schwere Verbrennungen."</text> </nr> </locale> </message> <message name="firewall_death"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit stirbt beim Versuch, die Feuerwand nach $region zu durchqueren."</text> + <nr section="movement"> + <text>"$unit($unit) stirbt beim Versuch, die Feuerwand nach $region($region) zu durchqueren."</text> </nr> </locale> </message> <message name="msg_production"> - <param name="string" type="string"></param> + <type> + <arg name="string" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> + <nr section="production"> <text>"$string"</text> </nr> </locale> </message> <message name="buildship"> - <param name="unit" type="unit"></param> - <param name="size" type="int"></param> - <param name="ship" type="ship"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="size" type="int"></arg> + <arg name="ship" type="ship"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit baut f�r $size an $ship weiter."</text> + <nr section="production"> + <text>"$unit($unit) baut f�r $int($size) an $ship($ship) weiter."</text> </nr> </locale> </message> <message name="buildbuilding"> - <param name="unit" type="unit"></param> - <param name="size" type="int"></param> - <param name="building" type="building"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="size" type="int"></arg> + <arg name="building" type="building"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit baut f�r $size an $building weiter."</text> + <nr section="production"> + <text>"$unit($unit) baut f�r $int($size) an $building($building) weiter."</text> </nr> </locale> </message> <message name="manufacture"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> - <param name="wanted" type="int"></param> - <param name="resource" type="resource"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="wanted" type="int"></arg> + <arg name="resource" type="resource"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region produziert $amount $wanted$resource."</text> + <nr section="production"> + <text>"$unit($unit) in $region($region) produziert $int($amount)$if($eq($wanted,$amount),""," von $int($wanted)") $resource($resource,$wanted)."</text> </nr> </locale> </message> <message name="produce"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> - <param name="wanted" type="int"></param> - <param name="resource" type="resource"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="wanted" type="int"></arg> + <arg name="resource" type="resource"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region produziert $amount $wanted$resource."</text> + <nr section="production"> + <text>"$unit($unit) in $region($region) produziert $int($amount)$if($eq($wanted,$amount),""," von $int($wanted)") $resource($resource,$wanted)."</text> </nr> </locale> </message> <message name="emptyeog"> - <param name="region" type="region"></param> + <type> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die Laenader in $region ist ersch�pft."</text> + <nr section="production"> + <text>"Die Laenader in $region($region) ist ersch�pft."</text> </nr> </locale> </message> <message name="unveileog"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region entdeckt eine Laenader."</text> + <nr section="production"> + <text>"$unit($unit) in $region($region) entdeckt eine Laenader."</text> </nr> </locale> </message> <message name="plant"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> - <param name="herb" type="resource"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="herb" type="resource"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit pflanzt in $region $amount $herb."</text> + <nr section="production"> + <text>"$unit($unit) pflanzt in $region($region) $int($amount) $resource($herb,$amount)."</text> </nr> </locale> </message> <message name="raised"> - <param name="unit" type="unit"></param> - <param name="amount" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit z�chtet $amount Pferde."</text> + <nr section="production"> + <text>"$unit($unit) z�chtet $int($amount) Pferde."</text> </nr> </locale> </message> <message name="herbfound"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> - <param name="herb" type="resource"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="herb" type="resource"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region findet $amount $herb."</text> + <nr section="production"> + <text>"$unit($unit) in $region($region) findet $int($amount) $resource($herb,$amount)."</text> </nr> </locale> </message> <message name="msg_economy"> - <param name="string" type="string"></param> + <type> + <arg name="string" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> + <nr section="economy"> <text>"$string"</text> </nr> </locale> </message> <message name="give"> - <param name="unit" type="unit"></param> - <param name="amount" type="int"></param> - <param name="resource" type="resource"></param> - <param name="target" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="resource" type="resource"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit �bergibt $amount $resource an $target."</text> + <nr section="economy"> + <text>"$unit($unit) �bergibt $int($amount) $resource($resource,$amount) an $unit($target)."</text> </nr> </locale> </message> <message name="income"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> - <param name="wanted" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="wanted" type="int"></arg> + <arg name="mode" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit verdient in $region $amount $wanted."</text> + <nr section="economy"> + <text>"$unit($unit) verdient in $region($region) $int($amount)$if($eq($wanted,$amount),""," statt $int($wanted)") Silber."</text> + </nr> + </locale> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) earns $int($amount)$if($eq($wanted,$amount),""," of $int($wanted)") in $region($region)."</text> </nr> </locale> </message> <message name="income_tax"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit treibt in $region $amount Steuern ein."</text> + <nr section="economy"> + <text>"$unit($unit) treibt in $region($region) $int($amount) Steuern ein."</text> </nr> </locale> </message> <message name="income_tax_reduced"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> - <param name="wanted" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="wanted" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit treibt in $region $amount statt $wanted Steuern ein."</text> + <nr section="economy"> + <text>"$unit($unit) treibt in $region($region) $int($amount)$if($eq($wanted,$amount),""," statt $int($wanted)") Steuern ein."</text> </nr> </locale> </message> <message name="income_steal"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit klaut in $region $amount Silber."</text> + <nr section="economy"> + <text>"$unit($unit) klaut in $region($region) $int($amount) Silber."</text> </nr> </locale> </message> <message name="income_steal_reduced"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> - <param name="wanted" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="wanted" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit klaut in $region $amount statt $wanted Silber."</text> + <nr section="economy"> + <text>"$unit($unit) klaut in $region($region) $int($amount)$if($eq($wanted,$amount),""," statt $int($wanted)") Silber."</text> </nr> </locale> </message> <message name="income_magic"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit verdient in $region $amount Silber durch Zauberei."</text> + <nr section="economy"> + <text>"$unit($unit) verdient in $region($region) $int($amount) Silber durch Zauberei."</text> </nr> </locale> </message> <message name="income_magic_reduced"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> - <param name="wanted" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="wanted" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit verdient in $region $amount statt $wanted Silber durch Zauberei."</text> + <nr section="economy"> + <text>"$unit($unit) verdient in $region($region) $int($amount)$if($eq($wanted,$amount),""," statt $int($wanted)") Silber durch Zauberei."</text> </nr> </locale> </message> <message name="income_entertainment"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit verdient in $region $amount Silber durch Unterhaltung."</text> + <nr section="economy"> + <text>"$unit($unit) verdient in $region($region) $int($amount) Silber durch Unterhaltung."</text> </nr> </locale> </message> <message name="income_entertainment_reduced"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> - <param name="wanted" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="wanted" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit verdient in $region $amount statt $wanted Silber durch Unterhaltung."</text> + <nr section="economy"> + <text>"$unit($unit) verdient in $region($region) $int($amount)$if($eq($wanted,$amount),""," statt $int($wanted)") Silber durch Unterhaltung."</text> </nr> </locale> </message> <message name="income_work"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit arbeitet in $region f�r einen Lohn von $amount Silber."</text> + <nr section="economy"> + <text>"$unit($unit) arbeitet in $region($region) f�r einen Lohn von $int($amount) Silber."</text> </nr> </locale> </message> <message name="income_work_reduced"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> - <param name="wanted" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="wanted" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit arbeitet in $region f�r einen Lohn von $amount statt $wanted Silber."</text> + <nr section="economy"> + <text>"$unit($unit) arbeitet in $region($region) f�r einen Lohn von $int($amount)$if($eq($wanted,$amount),""," statt $int($wanted)") Silber."</text> </nr> </locale> </message> <message name="income_trade"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit verdient in $region $amount Silber durch den Verkauf von Luxusg�tern."</text> + <nr section="economy"> + <text>"$unit($unit) verdient in $region($region) $int($amount) Silber durch den Verkauf von Luxusg�tern."</text> </nr> </locale> </message> <message name="income_tradetax"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit verdient am Handel in $region Steuern in H�he von $amount Silber."</text> + <nr section="economy"> + <text>"$unit($unit) verdient am Handel in $region($region) Steuern in H�he von $int($amount) Silber."</text> </nr> </locale> </message> <message name="maintenance"> - <param name="unit" type="unit"></param> - <param name="building" type="building"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="building" type="building"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit bezahlt den Unterhalt von $building."</text> + <nr section="economy"> + <text>"$unit($unit) bezahlt den Unterhalt von $building($building)."</text> </nr> </locale> </message> <message name="maintenancefail"> - <param name="unit" type="unit"></param> - <param name="building" type="building"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="building" type="building"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit kann den Unterhalt von $building nicht bezahlen."</text> + <nr section="economy"> + <text>"$unit($unit) kann den Unterhalt von $building($building) nicht bezahlen."</text> </nr> </locale> </message> <message name="maintenancespecialfail"> - <param name="unit" type="unit"></param> - <param name="item" type="resource"></param> - <param name="building" type="building"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="item" type="resource"></arg> + <arg name="building" type="building"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit fehlt $item f�r den Betrieb von $building."</text> + <nr section="economy"> + <text>"$unit($unit) fehlen $resource($item,0) f�r den Betrieb von $building($building)."</text> </nr> </locale> </message> <message name="buy"> - <param name="unit" type="unit"></param> - <param name="money" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="money" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit bezahlt $money Silber f�r den Kauf von Luxusg�tern."</text> + <nr section="economy"> + <text>"$unit($unit) bezahlt $int($money) Silber f�r den Kauf von Luxusg�tern."</text> </nr> </locale> </message> <message name="buyamount"> - <param name="unit" type="unit"></param> - <param name="amount" type="int"></param> - <param name="resource" type="resource"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="resource" type="resource"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit kauft $amount $resource."</text> + <nr section="economy"> + <text>"$unit($unit) kauft $int($amount) $resource($resource,$amount)."</text> </nr> </locale> </message> <message name="sellamount"> - <param name="unit" type="unit"></param> - <param name="amount" type="int"></param> - <param name="resource" type="resource"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="resource" type="resource"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit verkauft $amount $resource."</text> + <nr section="economy"> + <text>"$unit($unit) verkauft $int($amount) $resource($resource,$amount)."</text> </nr> </locale> </message> <message name="msg_study"> - <param name="string" type="string"></param> + <type> + <arg name="string" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> + <nr section="study"> <text>"$string"</text> </nr> </locale> </message> <message name="teach"> - <param name="teacher" type="unit"></param> - <param name="student" type="unit"></param> - <param name="skill" type="skill"></param> + <type> + <arg name="teacher" type="unit"></arg> + <arg name="student" type="unit"></arg> + <arg name="skill" type="skill"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$teacher lehrt $student $skill."</text> + <nr section="study"> + <text>"$unit($teacher) lehrt $unit($student) $skill($skill)."</text> </nr> </locale> </message> <message name="teachdumb"> - <param name="teacher" type="unit"></param> - <param name="amount" type="int"></param> + <type> + <arg name="teacher" type="unit"></arg> + <arg name="amount" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$teacher kann durch Dumpfbackenbrot nur $amount Sch�ler lehren."</text> + <nr section="study"> + <text>"$unit($teacher) kann durch Dumpfbackenbrot nur $int($amount) Sch�ler lehren."</text> </nr> </locale> </message> <message name="studycost"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="cost" type="int"></param> - <param name="skill" type="skill"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="cost" type="int"></arg> + <arg name="skill" type="skill"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region verbraucht $cost Silber f�r das Studium von $skill."</text> + <nr section="study"> + <text>"$unit($unit) in $region($region) verbraucht $int($cost) Silber f�r das Studium von $skill($skill)."</text> </nr> </locale> </message> <message name="msg_magic"> - <param name="string" type="string"></param> + <type> + <arg name="string" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> + <nr section="magic"> <text>"$string"</text> </nr> </locale> </message> <message name="regenaura"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="amount" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region regeneriert $amount Aura."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region) regeneriert $int($amount) Aura."</text> </nr> </locale> </message> <message name="effectstrength"> - <param name="mage" type="unit"></param> - <param name="target" type="unit"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage erh�ht die K�rperkraft von $target betr�chtlich."</text> + <nr section="magic"> + <text>"$unit($mage) erh�ht die K�rperkraft von $unit($target) betr�chtlich."</text> </nr> </locale> </message> <message name="regionmagic_effect"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - $unit gelingt es die Region zu verzaubern"</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - $unit($unit) gelingt es die Region zu verzaubern"</text> </nr> </locale> </message> <message name="objmagic_effect"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="unit" type="unit"></param> - <param name="target" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="unit" type="unit"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - $unit verzaubert $target"</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - $unit($unit) verzaubert $unit($target)"</text> </nr> </locale> </message> <message name="weakmagic"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Zauber von $unit war viel zu schwach und l�st sich gleich wieder auf."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - Der Zauber von $unit($unit) war viel zu schwach und l�st sich gleich wieder auf."</text> </nr> </locale> </message> <message name="magic_fumble"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Magier verf�ngt sich in seinem eigenen Zauber."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - Der Magier verf�ngt sich in seinem eigenen Zauber."</text> </nr> </locale> </message> <message name="patzer2"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region hat rasende Kopfschmerzen und kann sich nicht mehr richtig konzentrieren. Irgendwas bei diesem Zauber ist f�rchterlich schiefgelaufen."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region) hat rasende Kopfschmerzen und kann sich nicht mehr richtig konzentrieren. Irgendwas bei diesem Zauber ist f�rchterlich schiefgelaufen."</text> </nr> </locale> </message> <message name="patzer3"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="unit" type="unit"></param> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="unit" type="unit"></arg> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"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."</text> + <nr section="magic"> + <text>"Als $unit($unit) in $region($region) versucht, $command zu zaubern, scheint pl�tzlich ein Beben durch die magische Essenz zu laufen und ein furchtbarer Sog versucht $unit($unit) in eine andere Dimension zu ziehen. Mit letzter Kraft gelingt es $unit($unit) sich zu retten."</text> </nr> </locale> </message> <message name="shock"> - <param name="mage" type="unit"></param> - <param name="reason" type="string"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="reason" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage erleidet einen Schock $reason."</text> + <nr section="magic"> + <text>"$unit($mage) erleidet einen Schock $reason."</text> </nr> </locale> </message> <message name="spellunitnotfound"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="id" type="int36"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="id" type="int36"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Einheit $id wurde nicht gefunden."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - Einheit $int36($id) wurde nicht gefunden."</text> </nr> </locale> </message> <message name="spellbuildingnotfound"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="id" type="int36"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="id" type="int36"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Geb�ude $id wurde nicht gefunden."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - Geb�ude $int36($id) wurde nicht gefunden."</text> </nr> </locale> </message> <message name="spellshipnotfound"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="id" type="int36"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="id" type="int36"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Schiff $id wurde nicht gefunden."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - Schiff $int36($id) wurde nicht gefunden."</text> </nr> </locale> </message> <message name="spellunitresists"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="id" type="int36"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="id" type="int36"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Einheit $id widersteht dem Zauber."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - Einheit $int36($id) widersteht dem Zauber."</text> </nr> </locale> </message> <message name="spellbuildingresists"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="id" type="int36"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="id" type="int36"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Geb�ude $id konnte nicht verzaubert werden."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - Geb�ude $int36($id) konnte nicht verzaubert werden."</text> </nr> </locale> </message> <message name="spellshipresists"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="id" type="int36"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="id" type="int36"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Schiff $id konnte nicht verzaubert werden."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - Schiff $int36($id) konnte nicht verzaubert werden."</text> </nr> </locale> </message> <message name="spellregionresists"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Region konnte nicht verzaubert werden."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - Die Region konnte nicht verzaubert werden."</text> </nr> </locale> </message> <message name="analyse_region_nospell"> - <param name="mage" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage meint, das auf $region kein Zauber liegt."</text> + <nr section="magic"> + <text>"$unit($mage) meint, das auf $region($region) kein Zauber liegt."</text> </nr> </locale> </message> <message name="analyse_unit_nospell"> - <param name="mage" type="unit"></param> - <param name="target" type="unit"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage meint, das auf $target kein Zauber liegt."</text> + <nr section="magic"> + <text>"$unit($mage) meint, das auf $unit($target) kein Zauber liegt."</text> </nr> </locale> </message> <message name="analyse_building_nospell"> - <param name="mage" type="unit"></param> - <param name="building" type="building"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="building" type="building"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage meint, das auf $building kein Zauber liegt."</text> + <nr section="magic"> + <text>"$unit($mage) meint, das auf $building($building) kein Zauber liegt."</text> </nr> </locale> </message> <message name="analyse_ship_nospell"> - <param name="mage" type="unit"></param> - <param name="ship" type="ship"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="ship" type="ship"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage meint, das auf $ship kein Zauber liegt."</text> + <nr section="magic"> + <text>"$unit($mage) meint, das auf $ship($ship) kein Zauber liegt."</text> </nr> </locale> </message> <message name="analyse_region_fail"> - <param name="mage" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage meint, das auf $region ein Zauber liegt, konnte aber �ber den Zauber nichts herausfinden."</text> + <nr section="magic"> + <text>"$unit($mage) meint, das auf $region($region) ein Zauber liegt, konnte aber �ber den Zauber nichts herausfinden."</text> </nr> </locale> </message> <message name="analyse_unit_fail"> - <param name="mage" type="unit"></param> - <param name="unit" type="unit"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage meint, das $unit verzaubert ist, konnte aber �ber den Zauber nichts herausfinden."</text> + <nr section="magic"> + <text>"$unit($mage) meint, das $unit($unit) verzaubert ist, konnte aber �ber den Zauber nichts herausfinden."</text> </nr> </locale> </message> <message name="analyse_building_fail"> - <param name="mage" type="unit"></param> - <param name="building" type="building"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="building" type="building"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage meint, das auf $building ein Zauber liegt, konnte aber �ber den Zauber nichts herausfinden."</text> + <nr section="magic"> + <text>"$unit($mage) meint, das auf $building($building) ein Zauber liegt, konnte aber �ber den Zauber nichts herausfinden."</text> </nr> </locale> </message> <message name="analyse_ship_fail"> - <param name="mage" type="unit"></param> - <param name="ship" type="ship"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="ship" type="ship"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage meint, das auf $ship ein Zauber liegt, konnte aber �ber den Zauber nichts herausfinden."</text> + <nr section="magic"> + <text>"$unit($mage) meint, das auf $ship($ship) ein Zauber liegt, konnte aber �ber den Zauber nichts herausfinden."</text> </nr> </locale> </message> <message name="analyse_region_noage"> - <param name="mage" type="unit"></param> - <param name="region" type="region"></param> - <param name="spell" type="string"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="spell" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage fand heraus, das auf $region der Zauber $spell liegt, dessen Kraft ausreicht, um noch Jahrhunderte bestehen zu bleiben."</text> + <nr section="magic"> + <text>"$unit($mage) fand heraus, das auf $region($region) der Zauber $spell liegt, dessen Kraft ausreicht, um noch Jahrhunderte bestehen zu bleiben."</text> </nr> </locale> </message> <message name="analyse_unit_noage"> - <param name="mage" type="unit"></param> - <param name="unit" type="unit"></param> - <param name="spell" type="string"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="unit" type="unit"></arg> + <arg name="spell" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage fand heraus, das auf $unit der Zauber $spell liegt, dessen Kraft ausreicht, um noch Jahrhunderte bestehen zu bleiben."</text> + <nr section="magic"> + <text>"$unit($mage) fand heraus, das auf $unit($unit) der Zauber $spell liegt, dessen Kraft ausreicht, um noch Jahrhunderte bestehen zu bleiben."</text> </nr> </locale> </message> <message name="analyse_building_noage"> - <param name="mage" type="unit"></param> - <param name="building" type="building"></param> - <param name="spell" type="string"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="building" type="building"></arg> + <arg name="spell" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage fand heraus, das auf $building der Zauber $spell liegt, dessen Kraft ausreicht, um noch Jahrhunderte bestehen zu bleiben."</text> + <nr section="magic"> + <text>"$unit($mage) fand heraus, das auf $building($building) der Zauber $spell liegt, dessen Kraft ausreicht, um noch Jahrhunderte bestehen zu bleiben."</text> </nr> </locale> </message> <message name="analyse_ship_noage"> - <param name="mage" type="unit"></param> - <param name="ship" type="ship"></param> - <param name="spell" type="string"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="ship" type="ship"></arg> + <arg name="spell" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage fand heraus, das auf $ship der Zauber $spell liegt, dessen Kraft ausreicht, um noch Jahrhunderte bestehen zu bleiben."</text> + <nr section="magic"> + <text>"$unit($mage) fand heraus, das auf $ship($ship) der Zauber $spell liegt, dessen Kraft ausreicht, um noch Jahrhunderte bestehen zu bleiben."</text> </nr> </locale> </message> <message name="analyse_region_age"> - <param name="mage" type="unit"></param> - <param name="region" type="region"></param> - <param name="spell" type="string"></param> - <param name="months" type="int"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="spell" type="string"></arg> + <arg name="months" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage fand heraus, das auf $region der Zauber $spell liegt, der noch etwa $months Wochen bestehen bleibt."</text> + <nr section="magic"> + <text>"$unit($mage) fand heraus, das auf $region($region) der Zauber $spell liegt, der noch etwa $int($months) Wochen bestehen bleibt."</text> </nr> </locale> </message> <message name="analyse_unit_age"> - <param name="mage" type="unit"></param> - <param name="unit" type="unit"></param> - <param name="spell" type="string"></param> - <param name="months" type="int"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="unit" type="unit"></arg> + <arg name="spell" type="string"></arg> + <arg name="months" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage fand heraus, das auf $unit der Zauber $spell liegt, der noch etwa $months Wochen bestehen bleibt."</text> + <nr section="magic"> + <text>"$unit($mage) fand heraus, das auf $unit($unit) der Zauber $spell liegt, der noch etwa $int($months) Wochen bestehen bleibt."</text> </nr> </locale> </message> <message name="analyse_building_age"> - <param name="mage" type="unit"></param> - <param name="building" type="building"></param> - <param name="spell" type="string"></param> - <param name="months" type="int"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="building" type="building"></arg> + <arg name="spell" type="string"></arg> + <arg name="months" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage fand heraus, das auf $building der Zauber $spell liegt, der noch etwa $months Wochen bestehen bleibt."</text> + <nr section="magic"> + <text>"$unit($mage) fand heraus, das auf $building($building) der Zauber $spell liegt, der noch etwa $int($months) Wochen bestehen bleibt."</text> </nr> </locale> </message> <message name="analyse_ship_age"> - <param name="mage" type="unit"></param> - <param name="ship" type="ship"></param> - <param name="spell" type="string"></param> - <param name="months" type="int"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="ship" type="ship"></arg> + <arg name="spell" type="string"></arg> + <arg name="months" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage fand heraus, das auf $ship der Zauber $spell liegt, der noch etwa $months Wochen bestehen bleibt."</text> + <nr section="magic"> + <text>"$unit($mage) fand heraus, das auf $ship($ship) der Zauber $spell liegt, der noch etwa $int($months) Wochen bestehen bleibt."</text> </nr> </locale> </message> <message name="teleport_success"> - <param name="unit" type="unit"></param> - <param name="source" type="region"></param> - <param name="target" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="source" type="region"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit wurde von $source nach $target teleportiert."</text> + <nr section="magic"> + <text>"$unit($unit) wurde von $region($source) nach $unit($target) teleportiert."</text> </nr> </locale> </message> <message name="stealaura_fail"> - <param name="unit" type="unit"></param> - <param name="target" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit konnte $target keine Aura entziehen."</text> + <nr section="magic"> + <text>"$unit($unit) konnte $unit($target) keine Aura entziehen."</text> </nr> </locale> </message> <message name="stealaura_fail_detect"> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit f�hlt sich einen Moment seltsam geschw�cht."</text> + <nr section="magic"> + <text>"$unit($unit) f�hlt sich einen Moment seltsam geschw�cht."</text> </nr> </locale> </message> <message name="stealaura_detect"> - <param name="unit" type="unit"></param> - <param name="aura" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="aura" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit f�hlt seine magischen Kr�fte schwinden und verliert $aura Aura."</text> + <nr section="magic"> + <text>"$unit($unit) f�hlt seine magischen Kr�fte schwinden und verliert $int($aura) Aura."</text> </nr> </locale> </message> <message name="stealaura_success"> - <param name="mage" type="unit"></param> - <param name="target" type="unit"></param> - <param name="aura" type="int"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="target" type="unit"></arg> + <arg name="aura" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage entzieht $target $aura Aura."</text> + <nr section="magic"> + <text>"$unit($mage) entzieht $unit($target) $int($aura) Aura."</text> </nr> </locale> </message> <message name="auratransfer_success"> - <param name="unit" type="unit"></param> - <param name="aura" type="int"></param> - <param name="target" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="aura" type="int"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit transferiert $aura Aura auf $target."</text> + <nr section="magic"> + <text>"$unit($unit) transferiert $int($aura) Aura auf $unit($target)."</text> </nr> </locale> </message> <message name="wind_effect"> - <param name="mage" type="unit"></param> - <param name="ship" type="ship"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="ship" type="ship"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage erfleht den Segen der G�tter des Windes und des Wassers f�r $ship."</text> + <nr section="magic"> + <text>"$unit($mage) erfleht den Segen der G�tter des Windes und des Wassers f�r $ship($ship)."</text> </nr> </locale> </message> <message name="path_effect"> - <param name="mage" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage sorgt f�r trockene Stra�en in $region."</text> + <nr section="magic"> + <text>"$unit($mage) sorgt f�r trockene Stra�en in $region($region)."</text> </nr> </locale> </message> <message name="ent_effect"> - <param name="mage" type="unit"></param> - <param name="amount" type="int"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="amount" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage belebt $amount B�ume."</text> + <nr section="magic"> + <text>"$unit($mage) belebt $int($amount) B�ume."</text> </nr> </locale> </message> <message name="maelstrom_effect"> - <param name="mage" type="unit"></param> + <type> + <arg name="mage" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage beschw�rt die M�chte des Wassers und ein gigantischer Strudel bildet sich."</text> + <nr section="magic"> + <text>"$unit($mage) beschw�rt die M�chte des Wassers und ein gigantischer Strudel bildet sich."</text> </nr> </locale> </message> <message name="harvest_effect"> - <param name="mage" type="unit"></param> + <type> + <arg name="mage" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage segnet in einem kurzen Ritual die Felder."</text> + <nr section="magic"> + <text>"$unit($mage) segnet in einem kurzen Ritual die Felder."</text> </nr> </locale> </message> <message name="growtree_effect"> - <param name="mage" type="unit"></param> - <param name="amount" type="int"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="amount" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage erschuf einen heiligen Hain von $amount B�umen."</text> + <nr section="magic"> + <text>"$unit($mage) erschuf einen heiligen Hain von $int($amount) B�umen."</text> </nr> </locale> </message> <message name="rust_effect"> - <param name="mage" type="unit"></param> - <param name="target" type="unit"></param> - <param name="amount" type="int"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="target" type="unit"></arg> + <arg name="amount" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage legt einen Rosthauch auf $target. $amount Waffen wurden vom Rost zerfressen."</text> + <nr section="magic"> + <text>"$unit($mage) legt einen Rosthauch auf $unit($target). $int($amount) Waffen wurden vom Rost zerfressen."</text> </nr> </locale> </message> <message name="rust_fail"> - <param name="mage" type="unit"></param> - <param name="target" type="unit"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage legt einen Rosthauch auf $target, doch der Rosthauch fand keine Nahrung."</text> + <nr section="magic"> + <text>"$unit($mage) legt einen Rosthauch auf $unit($target), doch der Rosthauch fand keine Nahrung."</text> </nr> </locale> </message> <message name="heat_effect"> - <param name="mage" type="unit"></param> - <param name="target" type="unit"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage belegt $target mit einem K�lteschutz."</text> + <nr section="magic"> + <text>"$unit($mage) belegt $unit($target) mit einem K�lteschutz."</text> </nr> </locale> </message> <message name="sparkle_effect"> - <param name="mage" type="unit"></param> - <param name="target" type="unit"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage belegt $target mit einem Zauber."</text> + <nr section="magic"> + <text>"$unit($mage) belegt $unit($target) mit einem Zauber."</text> </nr> </locale> </message> <message name="drought_effect"> - <param name="mage" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage ruft das Feuer der Sonne auf $region herab."</text> + <nr section="magic"> + <text>"$unit($mage) ruft das Feuer der Sonne auf $region($region) herab."</text> </nr> </locale> </message> <message name="fumblecurse"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region wird von einem Unbekannten verflucht."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region) wird von einem Unbekannten verflucht."</text> </nr> </locale> </message> <message name="deathcloud_effect"> - <param name="mage" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage beschw�rt einen Giftelementar in $region."</text> + <nr section="magic"> + <text>"$unit($mage) beschw�rt einen Giftelementar in $region($region)."</text> </nr> </locale> </message> <message name="destroy_magic_effect"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="succ" type="string"></param> - <param name="target" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="succ" type="string"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Magier zerst�rt $succ Fl�che auf $target."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - Der Magier zerst�rt $succ Fl�che auf $unit($target)."</text> </nr> </locale> </message> <message name="destroy_magic_noeffect"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Magier konnte keinen Fluch zerst�ren."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - Der Magier konnte keinen Fluch zerst�ren."</text> </nr> </locale> </message> <message name="magicboost_effect"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Die Sph�ren des Chaos geben dem Magier einen Teil ihrer Kraft."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - Die Sph�ren des Chaos geben dem Magier einen Teil ihrer Kraft."</text> </nr> </locale> </message> <message name="use_antimagiccrystal"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit benutzt in $region einen Antimagiekristall."</text> + <nr section="magic"> + <text>"$unit($unit) benutzt in $region($region) einen Antimagiekristall."</text> </nr> </locale> </message> <message name="use_tacticcrystal"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit benutzt in $region ein Traumauge."</text> + <nr section="magic"> + <text>"$unit($unit) benutzt in $region($region) ein Traumauge."</text> </nr> </locale> </message> <message name="magiccreate_effect"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="unit" type="unit"></param> - <param name="amount" type="int"></param> - <param name="item" type="resource"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="item" type="resource"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - $unit erschafft $amount $item"</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - $unit($unit) erschafft $int($amount) $resource($item,$amount)"</text> </nr> </locale> </message> <message name="summondragon"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - $unit ruft Drachen nach $region"</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - $unit($unit) ruft Drachen nach $region($region)"</text> </nr> </locale> </message> <message name="sp_migranten"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="target" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - $target wird von uns aufgenommen."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - $unit($target) wird von uns aufgenommen."</text> </nr> </locale> </message> <message name="sp_migranten_fail1"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> - <param name="target" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - $target ist von unserer Art, das Ritual w�re verschwendete Aura"</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - $unit($target) ist von unserer Art, das Ritual w�re verschwendete Aura"</text> </nr> </locale> </message> <message name="icastle_create"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - Der Magier erschafft ein Traumgeb�ude."</text> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - Der Magier erschafft ein Traumgeb�ude."</text> </nr> </locale> </message> <message name="sp_raisepeasantmob_effect"> - <param name="mage" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage wiegelt in $region die Bauern zum Aufstand auf."</text> + <nr section="magic"> + <text>"$unit($mage) wiegelt in $region($region) die Bauern zum Aufstand auf."</text> </nr> </locale> </message> <message name="firewall_effect"> - <param name="mage" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage erschafft in $region eine Wand aus Feuer."</text> + <nr section="magic"> + <text>"$unit($mage) erschafft in $region($region) eine Wand aus Feuer."</text> </nr> </locale> </message> <message name="wisps_effect"> - <param name="mage" type="unit"></param> - <param name="region" type="region"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage ruft Irrlichter in $region."</text> + <nr section="magic"> + <text>"$unit($mage) ruft Irrlichter in $region($region)."</text> </nr> </locale> </message> <message name="becomewyrm"> - <param name="mage" type="unit"></param> + <type> + <arg name="mage" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage verwandelt sich in einen Wyrm."</text> + <nr section="magic"> + <text>"$unit($mage) verwandelt sich in einen Wyrm."</text> </nr> </locale> </message> <message name="puttorest"> - <param name="mage" type="unit"></param> + <type> + <arg name="mage" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage befreit die gequ�lten Seelen der Toten."</text> + <nr section="magic"> + <text>"$unit($mage) befreit die gequ�lten Seelen der Toten."</text> </nr> </locale> </message> <message name="unholypower_effect"> - <param name="mage" type="unit"></param> - <param name="target" type="unit"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage verwandelt $target."</text> + <nr section="magic"> + <text>"$unit($mage) verwandelt $unit($target)."</text> </nr> </locale> </message> <message name="unholypower_limitedeffect"> - <param name="mage" type="unit"></param> - <param name="amount" type="int"></param> - <param name="race" type="race"></param> - <param name="target" type="unit"></param> + <type> + <arg name="mage" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="race" type="race"></arg> + <arg name="target" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage verwandelt $amount $race aus $target."</text> + <nr section="magic"> + <text>"$unit($mage) verwandelt $int($amount) $race($race) aus $unit($target)."</text> </nr> </locale> </message> <message name="holyground"> - <param name="mage" type="unit"></param> + <type> + <arg name="mage" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$mage beschw�rt Naturgeister in den Boden der Region."</text> + <nr section="magic"> + <text>"$unit($mage) beschw�rt Naturgeister in den Boden der Region."</text> + </nr> + </locale> +</message> + +<message name="sp_bloodsacrifice_effect"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + </type> + <locale name="de"> + <nr section="magic"> + <text>"$unit($unit) in $region($region): '$command' - $unit($unit) gewinnt durch das Ritual $int($amount) Aura."</text> </nr> </locale> </message> <message name="msg_battle"> - <param name="string" type="string"></param> + <type> + <arg name="string" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> + <nr section="battle"> <text>"$string"</text> </nr> </locale> </message> <message name="killsandhits"> - <param name="unit" type="unit"></param> - <param name="hits" type="int"></param> - <param name="kills" type="int"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="hits" type="int"></arg> + <arg name="kills" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit erzielte $hits Treffer und t�tete $kills Gegner."</text> + <nr section="battle"> + <text>"$unit($unit) erzielte $int($hits) Treffer und t�tete $int($kills) Gegner."</text> </nr> </locale> </message> <message name="casualties"> - <param name="unit" type="unit"></param> - <param name="fallen" type="int"></param> - <param name="alive" type="int"></param> - <param name="run" type="int"></param> - <param name="runto" type="region"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="fallen" type="int"></arg> + <arg name="alive" type="int"></arg> + <arg name="run" type="int"></arg> + <arg name="runto" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit verlor $fallen Personen, $alive �berlebten und $run flohen nach $runto."</text> + <nr section="battle"> + <text>"$unit($unit) verlor $int($fallen) Personen, $int($alive) �berlebten und $int($run) flohen nach $region($runto)."</text> </nr> </locale> </message> <message name="new_fspecial"> - <param name="special" type="string"></param> + <type> + <arg name="special" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> + <nr section="events"> <text>"Die G�tter gew�hren uns die Kraft eines $special."</text> </nr> </locale> </message> <message name="new_fspecial_level"> - <param name="special" type="string"></param> - <param name="level" type="int"></param> + <type> + <arg name="special" type="string"></arg> + <arg name="level" type="int"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die G�tter gew�hren uns die Kraft eines $special($level)."</text> + <nr section="events"> + <text>"Die G�tter gew�hren uns die Kraft eines $special($int($level))."</text> </nr> </locale> </message> <message name="pray_success"> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die G�tter erh�ren $unit."</text> + <nr section="events"> + <text>"Die G�tter erh�ren $unit($unit)."</text> </nr> </locale> </message> <message name="setjihad"> - <param name="race" type="race"></param> + <type> + <arg name="race" type="race"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Wir erkl�ren allen $race den heiligen Krieg."</text> + <nr section="events"> + <text>"Wir erkl�ren allen $race($race) den heiligen Krieg."</text> </nr> </locale> </message> <message name="iceberg_drift"> - <param name="region" type="region"></param> - <param name="dir" type="direction"></param> + <type> + <arg name="region" type="region"></arg> + <arg name="dir" type="direction"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Der Eisberg $region treibt nach $dir."</text> + <nr section="events"> + <text>"Der Eisberg $region($region) treibt nach $direction($dir)."</text> </nr> </locale> </message> <message name="overrun_by_iceberg"> - <param name="ship" type="ship"></param> + <type> + <arg name="ship" type="ship"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die $ship wird bei einer Kollision mit einem Eisberg besch�digt."</text> + <nr section="events"> + <text>"Die $ship($ship) wird bei einer Kollision mit einem Eisberg besch�digt."</text> </nr> </locale> </message> <message name="overrun_by_iceberg_des"> - <param name="ship" type="ship"></param> + <type> + <arg name="ship" type="ship"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Die $ship wird bei einer Kollision mit einem Eisberg zerst�rt."</text> + <nr section="events"> + <text>"Die $ship($ship) wird bei einer Kollision mit einem Eisberg zerst�rt."</text> </nr> </locale> </message> <message name="iceberg_land"> - <param name="region" type="region"></param> + <type> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Der Eisberg $region treibt an eine K�ste."</text> + <nr section="events"> + <text>"Der Eisberg $region($region) treibt an eine K�ste."</text> </nr> </locale> </message> <message name="iceberg_create"> - <param name="region" type="region"></param> + <type> + <arg name="region" type="region"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Der Gletscher von $region bricht und treibt davon."</text> + <nr section="events"> + <text>"Der Gletscher von $region($region) bricht und treibt davon."</text> </nr> </locale> </message> <message name="praytoigjarjuk"> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit sendet ein Sto�gebet an den Herrn der Schreie."</text> + <nr section="events"> + <text>"$unit($unit) sendet ein Sto�gebet an den Herrn der Schreie."</text> </nr> </locale> </message> <message name="cryinpain"> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>""AAAAAAAGHHHHHH!" - Ein Schrei durchzieht die Region, $unit windet sich vor Schmerz."</text> + <nr section="events"> + <text>""AAAAAAAGHHHHHH!" - Ein Schrei durchzieht die Region, $unit($unit) windet sich vor Schmerz."</text> </nr> </locale> </message> <message name="wand_of_tears_effect"> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Ein bohrender Schmerz durchzuckt $unit, Verwirrung macht sich breit."</text> + <nr section="events"> + <text>"Ein bohrender Schmerz durchzuckt $unit($unit), Verwirrung macht sich breit."</text> </nr> </locale> </message> <message name="wand_of_tears_usage"> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit schwenkt sein Szepter und sorgt f�r Verwirrung und Chaos in der Region."</text> + <nr section="events"> + <text>"$unit($unit) schwenkt sein Szepter und sorgt f�r Verwirrung und Chaos in der Region."</text> </nr> </locale> </message> <message name="drown_amphibian_nodead"> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit nimmt Schaden auf dem Wasser."</text> + <nr section="events"> + <text>"$unit($unit) nimmt Schaden auf dem Wasser."</text> </nr> </locale> </message> <message name="drown_amphibian_dead"> - <param name="amount" type="int"></param> - <param name="unit" type="unit"></param> + <type> + <arg name="amount" type="int"></arg> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$amount Personen in $unit ertrinken."</text> + <nr section="events"> + <text>"$int($amount) Personen in $unit($unit) ertrinken."</text> </nr> </locale> </message> <message name="drown"> - <param name="unit" type="unit"></param> + <type> + <arg name="unit" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit ertrinkt."</text> + <nr section="events"> + <text>"$unit($unit) ertrinkt."</text> </nr> </locale> </message> <message name="error_pflnorecruit"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="command" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"$unit in $region: '$command' - In der Ebene der Herausforderung kann niemand rekrutiert werden."</text> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - In der Ebene der Herausforderung kann niemand rekrutiert werden."</text> </nr> </locale> </message> <message name="buildingcrash"> - <param name="region" type="region"></param> - <param name="building" type="building"></param> - <param name="opfer" type="unit"></param> + <type> + <arg name="region" type="region"></arg> + <arg name="building" type="building"></arg> + <arg name="opfer" type="unit"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"In $region st�rzte $building ein.$opfer"</text> + <nr section="events"> + <text>"In $region($region) st�rzte $building($building) ein.$unit($opfer)"</text> </nr> </locale> </message> <message name="nomaintenance"> - <param name="building" type="building"></param> + <type> + <arg name="building" type="building"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"F�r das Geb�ude $building konnte die ganze Woche kein Unterhalt bezahlt werden."</text> + <nr section="events"> + <text>"F�r das Geb�ude $building($building) konnte die ganze Woche kein Unterhalt bezahlt werden."</text> </nr> </locale> </message> <message name="unitmessage"> - <param name="unit" type="unit"></param> - <param name="region" type="region"></param> - <param name="message" type="string"></param> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="message" type="string"></arg> + </type> <locale name="de"> - <nr section="de"> - <text>"Eine Botschaft von $unit aus $region: '$message'""</text> + <nr section="events"> + <text>"Eine Botschaft von $unit($unit) aus $region($region): '$message'""</text> </nr> </locale> </message> diff --git a/src/res/de/strings.txt b/src/res/de/strings.txt index b68212b2c..2ecaee792 100644 --- a/src/res/de/strings.txt +++ b/src/res/de/strings.txt @@ -18,8 +18,6 @@ hell;de;Ebene aus Feuer und Dunkelheit activevolcano;de;Aktiver Vulkan hall1;de;Halle corridor1;de;Gang -xmas_exit;de;Pforte -caldera;de;Krater maelstrom_trail;de;ein %s ocean_trail;de;%s @@ -41,6 +39,8 @@ activevolcano_trail;de;ein %s hall1_trail;de;die %s corridor1_trail;de;die %s +caldera;de;Krater +xmas_exit;de;Pforte coal;de;Kohlenst�ck coals;de;Kohlenst�cke diff --git a/src/res/en/messages.xml b/src/res/en/messages.xml new file mode 100644 index 000000000..eee1f4d20 --- /dev/null +++ b/src/res/en/messages.xml @@ -0,0 +1,4417 @@ +<messages> +<message name="error2"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You cannot guard off shore."</text> + </nr> + </locale> +</message> + +<message name="error3"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Description has been cut (too long)."</text> + </nr> + </locale> +</message> + +<message name="error5"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The building is not ours."</text> + </nr> + </locale> +</message> + +<message name="error6"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Building could not be found."</text> + </nr> + </locale> +</message> + +<message name="error7"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This is not possible any longer."</text> + </nr> + </locale> +</message> + +<message name="error8"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - That is useless."</text> + </nr> + </locale> +</message> + +<message name="error9"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - That cannot be sabotaged."</text> + </nr> + </locale> +</message> + +<message name="error10"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - That does not make much sense."</text> + </nr> + </locale> +</message> + +<message name="error11"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The ship is still off shore."</text> + </nr> + </locale> +</message> + +<message name="error12"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The ship is not ours."</text> + </nr> + </locale> +</message> + +<message name="error13"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The ship has moved already."</text> + </nr> + </locale> +</message> + +<message name="error14"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The ship is off shore."</text> + </nr> + </locale> +</message> + +<message name="error15"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The ship has not yet been completed."</text> + </nr> + </locale> +</message> + +<message name="error16"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The ship is already completed."</text> + </nr> + </locale> +</message> + +<message name="error18"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The ship is too heavily loaded to sail."</text> + </nr> + </locale> +</message> + +<message name="error19"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - First you have to leave the ship."</text> + </nr> + </locale> +</message> + +<message name="error20"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The ship could not be found."</text> + </nr> + </locale> +</message> + +<message name="error21"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - There is no information available for the request."</text> + </nr> + </locale> +</message> + +<message name="error22"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Order was unrecognizable."</text> + </nr> + </locale> +</message> + +<message name="error23"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Contact was not possible due to siege."</text> + </nr> + </locale> +</message> + +<message name="error24"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Espionage was not possible due to siege."</text> + </nr> + </locale> +</message> + +<message name="error25"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The escape prevented that from happening."</text> + </nr> + </locale> +</message> + +<message name="error26"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The amount of items to buy is missing."</text> + </nr> + </locale> +</message> + +<message name="error27"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The amount of items for sale is missing."</text> + </nr> + </locale> +</message> + +<message name="error29"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The description of a monument can not be changed anymore."</text> + </nr> + </locale> +</message> + +<message name="error30"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The message does not contain text."</text> + </nr> + </locale> +</message> + +<message name="error31"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The castle could not be found."</text> + </nr> + </locale> +</message> + +<message name="error32"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is not on board our ship."</text> + </nr> + </locale> +</message> + +<message name="error33"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is not in our castle."</text> + </nr> + </locale> +</message> + +<message name="error34"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This unit has no permission to come on board."</text> + </nr> + </locale> +</message> + +<message name="error35"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not have these herbs."</text> + </nr> + </locale> +</message> + +<message name="error36"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not have this item."</text> + </nr> + </locale> +</message> + +<message name="error37"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not have this potion."</text> + </nr> + </locale> +</message> + +<message name="error38"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not have any herbs."</text> + </nr> + </locale> +</message> + +<message name="error39"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit has not yet learned espionage."</text> + </nr> + </locale> +</message> + +<message name="error40"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit did not contact us."</text> + </nr> + </locale> +</message> + +<message name="error41"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not have enough silver."</text> + </nr> + </locale> +</message> + +<message name="error42"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not have enough coachmen or too much freights to lad the wagons."</text> + </nr> + </locale> +</message> + +<message name="error43"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not have this."</text> + </nr> + </locale> +</message> + +<message name="error44"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is off shore."</text> + </nr> + </locale> +</message> + +<message name="error45"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This unit is one of our own."</text> + </nr> + </locale> +</message> + +<message name="error46"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is not in a tavern."</text> + </nr> + </locale> +</message> + +<message name="error47"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This unit is one of our allies."</text> + </nr> + </locale> +</message> + +<message name="error48"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is not armed and fighting fit."</text> + </nr> + </locale> +</message> + +<message name="error49"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is not he owner."</text> + </nr> + </locale> +</message> + +<message name="error50"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is not experienced enough to do this."</text> + </nr> + </locale> +</message> + +<message name="error51"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not have enough silver."</text> + </nr> + </locale> +</message> + +<message name="error52"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is exhausted from battle."</text> + </nr> + </locale> +</message> + +<message name="error53"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit cannot make potions."</text> + </nr> + </locale> +</message> + +<message name="error54"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit cannot trade."</text> + </nr> + </locale> +</message> + +<message name="error55"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit cannot move."</text> + </nr> + </locale> +</message> + +<message name="error56"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit cannot tame that many horses."</text> + </nr> + </locale> +</message> + +<message name="error57"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is too heavily loaded to move."</text> + </nr> + </locale> +</message> + +<message name="error58"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not know how to entertain."</text> + </nr> + </locale> +</message> + +<message name="error59"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not know anything about herbalism."</text> + </nr> + </locale> +</message> + +<message name="error60"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is under siege."</text> + </nr> + </locale> +</message> + +<message name="error63"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="de"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit could not be found."</text> + </nr> + </locale> +</message> + +<message name="error64"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit could not be found."</text> + </nr> + </locale> +</message> + +<message name="error65"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Tuition was too high to be paid."</text> + </nr> + </locale> +</message> + +<message name="error66"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The party could not be found."</text> + </nr> + </locale> +</message> + +<message name="error67"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The horses would drown."</text> + </nr> + </locale> +</message> + +<message name="error69"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The region is guarded."</text> + </nr> + </locale> +</message> + +<message name="error70"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This region is guarded by a non allied party."</text> + </nr> + </locale> +</message> + +<message name="error71"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Direction could not be recognized."</text> + </nr> + </locale> +</message> + +<message name="error72"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The target-unit did not contact us."</text> + </nr> + </locale> +</message> + +<message name="error73"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The target-unit did not contact us."</text> + </nr> + </locale> +</message> + +<message name="error74"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This unit cannot give away anybody."</text> + </nr> + </locale> +</message> + +<message name="error75"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This unit does not take anybody."</text> + </nr> + </locale> +</message> + +<message name="error76"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This item cannot be used."</text> + </nr> + </locale> +</message> + +<message name="error77"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Talent could not be recognized."</text> + </nr> + </locale> +</message> + +<message name="error78"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - A curse prevented the transfer from happening."</text> + </nr> + </locale> +</message> + +<message name="error79"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - A ship or a castle must be supplied."</text> + </nr> + </locale> +</message> + +<message name="error80"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is not armed and fighting fit."</text> + </nr> + </locale> +</message> + +<message name="error81"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - first, the unit must guard the region."</text> + </nr> + </locale> +</message> + +<message name="error82"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - There is no agreement with this number."</text> + </nr> + </locale> +</message> + +<message name="error83"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - No peasant could be caught."</text> + </nr> + </locale> +</message> + +<message name="error84"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - No name was supplied."</text> + </nr> + </locale> +</message> + +<message name="error85"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - No email-address was supplied."</text> + </nr> + </locale> +</message> + +<message name="error86"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Wrong password."</text> + </nr> + </locale> +</message> + +<message name="error88"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You need wood to build a ship."</text> + </nr> + </locale> +</message> + +<message name="error89"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Money offer is missing."</text> + </nr> + </locale> +</message> + +<message name="error90"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not have a RIDE-order."</text> + </nr> + </locale> +</message> + +<message name="error91"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - There are no Mallorn trees here."</text> + </nr> + </locale> +</message> + +<message name="error92"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - There is no normal forest in this region."</text> + </nr> + </locale> +</message> + +<message name="error93"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - There is already a port in this region."</text> + </nr> + </locale> +</message> + +<message name="error94"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You cannot build a road here."</text> + </nr> + </locale> +</message> + +<message name="error95"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Illusions cannot guard a region."</text> + </nr> + </locale> +</message> + +<message name="error96"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nobody in this unit can be transferred."</text> + </nr> + </locale> +</message> + +<message name="error97"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Insects cannot be recruited in glaciers."</text> + </nr> + </locale> +</message> + +<message name="error98"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - In winter, insects can be recruited only in deserts."</text> + </nr> + </locale> +</message> + +<message name="error99"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Could not find the unit to be transported."</text> + </nr> + </locale> +</message> + +<message name="error100"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nobody here is a skilled ship builder."</text> + </nr> + </locale> +</message> + +<message name="error101"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nobody here can construct a building."</text> + </nr> + </locale> +</message> + +<message name="error102"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nobody here can trade."</text> + </nr> + </locale> +</message> + +<message name="error103"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Nobody here can build roads."</text> + </nr> + </locale> +</message> + +<message name="error104"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Laen can be excavated only in a mine."</text> + </nr> + </locale> +</message> + +<message name="error105"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Empty units can not be handed over."</text> + </nr> + </locale> +</message> + +<message name="error106"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - When studying, magicians need to be alone."</text> + </nr> + </locale> +</message> + +<message name="error107"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You need at least two horses to breed more."</text> + </nr> + </locale> +</message> + +<message name="error108"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - No herbs could be found."</text> + </nr> + </locale> +</message> + +<message name="error109"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Specify if a castle, a ship, a region or a unit is supposed to be named."</text> + </nr> + </locale> +</message> + +<message name="error110"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Specify if description is for a castle, a ship, a region or a unit."</text> + </nr> + </locale> +</message> + +<message name="error111"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Message has been cut (too long).."</text> + </nr> + </locale> +</message> + +<message name="error112"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Names may not contain parenthesis."</text> + </nr> + </locale> +</message> + +<message name="error113"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Item to be handed over was not supplied."</text> + </nr> + </locale> +</message> + +<message name="error114"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Number is not valid."</text> + </nr> + </locale> +</message> + +<message name="error115"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Number is already in use."</text> + </nr> + </locale> +</message> + +<message name="error116"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Number can not be assigned."</text> + </nr> + </locale> +</message> + +<message name="error117"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Submit only email-address, please!"</text> + </nr> + </locale> +</message> + +<message name="error118"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Only Elves can make these bows."</text> + </nr> + </locale> +</message> + +<message name="error119"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - There is no market place without a castle."</text> + </nr> + </locale> +</message> + +<message name="error120"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Characters can be given only to Human parties."</text> + </nr> + </locale> +</message> + +<message name="error121"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Characters can be given only to Human parties."</text> + </nr> + </locale> +</message> + +<message name="error122"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You can breed horses only in a stable."</text> + </nr> + </locale> +</message> + +<message name="error123"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not have such a thing."</text> + </nr> + </locale> +</message> + +<message name="error124"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You cannot buy that on a market place."</text> + </nr> + </locale> +</message> + +<message name="error125"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You cannot produce this."</text> + </nr> + </locale> +</message> + +<message name="error126"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You cannot sell this."</text> + </nr> + </locale> +</message> + +<message name="error127"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Your party cannot hire so many strangers."</text> + </nr> + </locale> +</message> + +<message name="error128"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The party cannot hire so many strangers."</text> + </nr> + </locale> +</message> + +<message name="error129"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The party cannot hire so many strangers."</text> + </nr> + </locale> +</message> + +<message name="error130"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Syntax: MAGIC SPHERE <1-5>."</text> + </nr> + </locale> +</message> + +<message name="error131"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You've got to build a tunnel before building roads through glaciers."</text> + </nr> + </locale> +</message> + +<message name="error132"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You've got to build a dam before building roads through swamps."</text> + </nr> + </locale> +</message> + +<message name="error133"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You've got to build a caravansary before building roads through deserts."</text> + </nr> + </locale> +</message> + +<message name="error134"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Unknown Report-Option."</text> + </nr> + </locale> +</message> + +<message name="error135"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Unknown Option."</text> + </nr> + </locale> +</message> + +<message name="error137"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Unknown Help- Mode."</text> + </nr> + </locale> +</message> + +<message name="error138"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - We do not have anything that could be demolished."</text> + </nr> + </locale> +</message> + +<message name="error139"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Different types do not mix."</text> + </nr> + </locale> +</message> + +<message name="error140"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is neither in a castle nor on board a ship."</text> + </nr> + </locale> +</message> + +<message name="error142"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not have enough silver for recruiting."</text> + </nr> + </locale> +</message> + +<message name="error143"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is on board a ship."</text> + </nr> + </locale> +</message> + +<message name="error144"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is not on board a ship."</text> + </nr> + </locale> +</message> + +<message name="error145"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is not in a castle."</text> + </nr> + </locale> +</message> + +<message name="error146"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is not captain of a ship."</text> + </nr> + </locale> +</message> + +<message name="error147"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is not in command of the largest castle in the region."</text> + </nr> + </locale> +</message> + +<message name="error148"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is not in command of a castle."</text> + </nr> + </locale> +</message> + +<message name="error149"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Who is supposed to get this message?"</text> + </nr> + </locale> +</message> + +<message name="error150"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - At least Herbalism 6 is needed for planting."</text> + </nr> + </locale> +</message> + +<message name="error151"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You need stones to build a road."</text> + </nr> + </locale> +</message> + +<message name="error152"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit jumps over board and drowns."</text> + </nr> + </locale> +</message> + +<message name="error153"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit joins the local peasants."</text> + </nr> + </locale> +</message> + +<message name="error154"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Highly qualified people refuse to work for other parties."</text> + </nr> + </locale> +</message> + +<message name="error155"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Too many magicians in the party."</text> + </nr> + </locale> +</message> + +<message name="error156"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Too many alchemists in the party."</text> + </nr> + </locale> +</message> + +<message name="error157"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The party has a different magic sphere."</text> + </nr> + </locale> +</message> + +<message name="error158"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Magicians always work alone!"</text> + </nr> + </locale> +</message> + +<message name="error159"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - No person could be handed over."</text> + </nr> + </locale> +</message> + +<message name="error160"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - No luxury items could be bought."</text> + </nr> + </locale> +</message> + +<message name="error161"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not have this potion."</text> + </nr> + </locale> +</message> + +<message name="error162"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This healing potion will be automatically used when needed."</text> + </nr> + </locale> +</message> + +<message name="error165"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit disagreed with the potion."</text> + </nr> + </locale> +</message> + +<message name="error166"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This race cannot siege a castle."</text> + </nr> + </locale> +</message> + +<message name="error167"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not go to the peasants."</text> + </nr> + </locale> +</message> + +<message name="error168"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - No luxury items could be sold."</text> + </nr> + </locale> +</message> + +<message name="error169"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not know this spell."</text> + </nr> + </locale> +</message> + +<message name="error170"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The peasants did not accept this gracious gift."</text> + </nr> + </locale> +</message> + +<message name="error171"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This combat spell does not exist."</text> + </nr> + </locale> +</message> + +<message name="error172"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - There was no spell supplied."</text> + </nr> + </locale> +</message> + +<message name="error173"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Even in the Xontormia Library, this spell could not be found."</text> + </nr> + </locale> +</message> + +<message name="error174"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - this spell makes only sense in combat."</text> + </nr> + </locale> +</message> + +<message name="error175"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You cannot cast this spell while standing on a moving ship."</text> + </nr> + </locale> +</message> + +<message name="error176"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You cannot cast this spell on a distant target."</text> + </nr> + </locale> +</message> + +<message name="error178"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - No magic sphere was supplied."</text> + </nr> + </locale> +</message> + +<message name="error179"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit cannot learn this magic sphere."</text> + </nr> + </locale> +</message> + +<message name="error180"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The spell fails."</text> + </nr> + </locale> +</message> + +<message name="error181"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - To do this, the magician has to be in a castle or on board a ship."</text> + </nr> + </locale> +</message> + +<message name="error182"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The ship cannot leave in this direction."</text> + </nr> + </locale> +</message> + +<message name="error183"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The magician is not on board a ship."</text> + </nr> + </locale> +</message> + +<message name="error184"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit does not move."</text> + </nr> + </locale> +</message> + +<message name="error186"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This spell works only ashore."</text> + </nr> + </locale> +</message> + +<message name="error187"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - There are already sufficient roads here."</text> + </nr> + </locale> +</message> + +<message name="error188"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You cannot cast this spell in a swamp."</text> + </nr> + </locale> +</message> + +<message name="error190"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This spell works only in the material world."</text> + </nr> + </locale> +</message> + +<message name="error191"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This spell works only in forests."</text> + </nr> + </locale> +</message> + +<message name="error194"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Target region was supplied incorrectly."</text> + </nr> + </locale> +</message> + +<message name="error195"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - No way is leading in this direction."</text> + </nr> + </locale> +</message> + +<message name="error196"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This is not a forest region."</text> + </nr> + </locale> +</message> + +<message name="error200"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Magician's maximum Aura is not high enough for this spell."</text> + </nr> + </locale> +</message> + +<message name="error201"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Race and target unit have not been supplied."</text> + </nr> + </locale> +</message> + +<message name="error202"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This is not a valid race."</text> + </nr> + </locale> +</message> + +<message name="error203"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - No target has been supplied."</text> + </nr> + </locale> +</message> + +<message name="error204"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You cannot cast this spell in a region without trees."</text> + </nr> + </locale> +</message> + +<message name="error205"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - This spell works only in an ocean region."</text> + </nr> + </locale> +</message> + +<message name="error207"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You cannot pass aura on to this unit."</text> + </nr> + </locale> +</message> + +<message name="error208"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - wrong Aura values."</text> + </nr> + </locale> +</message> + +<message name="error209"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Syntax Error."</text> + </nr> + </locale> +</message> + +<message name="error211"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The ship is already under this spell."</text> + </nr> + </locale> +</message> + +<message name="error212"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The magician is not on board a ship."</text> + </nr> + </locale> +</message> + +<message name="error213"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Incorrect parameter."</text> + </nr> + </locale> +</message> + +<message name="error214"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Unit is not a magician."</text> + </nr> + </locale> +</message> + +<message name="error221"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You cannot build such a thing."</text> + </nr> + </locale> +</message> + +<message name="error222"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Show all what?"</text> + </nr> + </locale> +</message> + +<message name="error223"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Starving units cannot guard."</text> + </nr> + </locale> +</message> + +<message name="error224"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Starving units cannot cast spells."</text> + </nr> + </locale> +</message> + +<message name="error225"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Starving units do not fight."</text> + </nr> + </locale> +</message> + +<message name="error226"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Units cannot attack from the second row."</text> + </nr> + </locale> +</message> + +<message name="error227"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit needs at least herbalism 7 to do this."</text> + </nr> + </locale> +</message> + +<message name="error228"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Only normal characters can collect taxes."</text> + </nr> + </locale> +</message> + +<message name="error230"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit cannot transport us to this place."</text> + </nr> + </locale> +</message> + +<message name="error231"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit or its animals would not survive there."</text> + </nr> + </locale> +</message> + +<message name="error232"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Swimmers cannot enter a building."</text> + </nr> + </locale> +</message> + +<message name="error233"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Swimmers cannot enter ships."</text> + </nr> + </locale> +</message> + +<message name="error234"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is busy disembarking."</text> + </nr> + </locale> +</message> + +<message name="error235"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Maintenance has not been paid yet."</text> + </nr> + </locale> +</message> + +<message name="error236"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The building is not finished yet."</text> + </nr> + </locale> +</message> + +<message name="error238"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - You can recruit only Orcs here."</text> + </nr> + </locale> +</message> + +<message name="error239"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Is this unit or ship supposed to get a new number?"</text> + </nr> + </locale> +</message> + +<message name="error240"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - Is this unit or ship supposed to be followed?"</text> + </nr> + </locale> +</message> + +<message name="error244"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The unit is already named."</text> + </nr> + </locale> +</message> + +<message name="error245"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The ship is already named."</text> + </nr> + </locale> +</message> + +<message name="error246"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The building is already named."</text> + </nr> + </locale> +</message> + +<message name="error247"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The faction is already named."</text> + </nr> + </locale> +</message> + +<message name="error248"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - The faction has to be 10 turns old."</text> + </nr> + </locale> +</message> + +<message name="mistake"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="error" type="string"></arg> + </type> + <locale name="en"> + <nr section="errors"> + <text>"$unit($unit) in $region($region): '$command' - $error."</text> + </nr> + </locale> +</message> + +<message name="drown_on_ship"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) drowns when $ship($ship) in $region($region) sinks."</text> + </nr> + </locale> +</message> + +<message name="buildship"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="size" type="int"></arg> + <arg name="ship" type="ship"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) builds $int($size) more on $ship($ship)."</text> + </nr> + </locale> +</message> + +<message name="buildbuilding"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="size" type="int"></arg> + <arg name="building" type="building"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) builds $int($size) more on $building($building)."</text> + </nr> + </locale> +</message> + +<message name="siege"> + <type> + <arg name="building" type="building"></arg> + <arg name="unit" type="unit"></arg> + <arg name="destruction" type="int"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$building($building) is under siege by $unit($unit). During siege, catapults caused $int($destruction) points destruction."</text> + </nr> + </locale> +</message> + +<message name="give"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="resource" type="resource"></arg> + <arg name="target" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) hands $int($amount) $resource($resource,$amount) to $unit($target)."</text> + </nr> + </locale> +</message> + +<message name="recruit"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="want" type="int"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) in $region($region) recruits $int($amount) $int($want) people."</text> + </nr> + </locale> +</message> + +<message name="message"> + <type> + <arg name="string" type="string"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$string"</text> + </nr> + </locale> +</message> + +<message name="givecommand"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="receipient" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) hands command over to $unit($receipient)."</text> + </nr> + </locale> +</message> + +<message name="forget"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="skill" type="skill"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) forgets $skill($skill)."</text> + </nr> + </locale> +</message> + +<message name="income_tax"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) collects $int($amount) taxes in $region($region)."</text> + </nr> + </locale> +</message> + +<message name="income_tax_reduced"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="wanted" type="int"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) collects only $int($amount) taxes instead of$if($eq($wanted,$amount),""," of$if($eq($wanted,$amount),""," of $int($wanted)") ") in $region($region)."</text> + </nr> + </locale> +</message> + +<message name="income_steal"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) steals $int($amount) silver in $region($region)."</text> + </nr> + </locale> +</message> + +<message name="income_steal_reduced"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="wanted" type="int"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) steals only $int($amount) silver instead of$if($eq($wanted,$amount),""," of$if($eq($wanted,$amount),""," of $int($wanted)") ") in $region($region)."</text> + </nr> + </locale> +</message> + +<message name="income_entertainment"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) earns $int($amount) in $region($region) with entertainment."</text> + </nr> + </locale> +</message> + +<message name="income_entertainment_reduced"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="wanted" type="int"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) earns only $int($amount) instead of$if($eq($wanted,$amount),""," of$if($eq($wanted,$amount),""," of $int($wanted)") ") in $region($region) with entertainment."</text> + </nr> + </locale> +</message> + +<message name="income_work"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) works in $region($region) for a wage of $int($amount) silver."</text> + </nr> + </locale> +</message> + +<message name="income_work_reduced"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="wanted" type="int"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) works in $region($region) for a wage of $int($amount) $if($eq($wanted,$amount),""," out of $int($wanted)") silver."</text> + </nr> + </locale> +</message> + +<message name="income_trade"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) earned $int($amount) silver in $region($region) by selling luxury items."</text> + </nr> + </locale> +</message> + +<message name="income_tradetax"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) collected $int($amount) silver trade tax in $region($region)."</text> + </nr> + </locale> +</message> + +<message name="manufacture"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="wanted" type="int"></arg> + <arg name="resource" type="resource"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) in $region($region) produces $int($amount)$if($eq($wanted,$amount),""," of $int($wanted)") $resource($resource,$amount)."</text> + </nr> + </locale> +</message> + +<message name="produce"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="wanted" type="int"></arg> + <arg name="resource" type="resource"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) in $region($region) produces $int($amount)$if($eq($wanted,$amount),""," of $int($wanted)") $resource($resource,$amount)."</text> + </nr> + </locale> +</message> + +<message name="storm"> + <type> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + <arg name="sink" type="string"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"The $ship($ship) in $region($region) drifts $sink in heavy storm."</text> + </nr> + </locale> +</message> + +<message name="shipsink"> + <type> + <arg name="ship" type="ship"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"The $ship($ship) suffers too heavy damage and sinks."</text> + </nr> + </locale> +</message> + +<message name="moveblocked"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="direction" type="direction"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) discovered that there is no path to $direction($direction)."</text> + </nr> + </locale> +</message> + +<message name="errusingpotion"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="command" type="string"></arg> + <arg name="using" type="resource"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit): '$command' - The unit already uses $resource($using,0)."</text> + </nr> + </locale> +</message> + +<message name="maintenance"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="building" type="building"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) pays the maintenance for $building($building)."</text> + </nr> + </locale> +</message> + +<message name="maintenancefail"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="building" type="building"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) cannot pay the maintenance for $building($building)."</text> + </nr> + </locale> +</message> + +<message name="buy"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="money" type="int"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) pays $int($money) silver for luxury items."</text> + </nr> + </locale> +</message> + +<message name="buyamount"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="resource" type="resource"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) buys $int($amount) $resource($resource,$amount)."</text> + </nr> + </locale> +</message> + +<message name="plant"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="herb" type="resource"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) plants $int($amount) $resource($herb,$amount) in $region($region)."</text> + </nr> + </locale> +</message> + +<message name="raised"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) breeds $int($amount) horses."</text> + </nr> + </locale> +</message> + +<message name="followfail"> + <type> + <arg name="follower" type="unit"></arg> + <arg name="unit" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($follower) could not follow $unit($unit)."</text> + </nr> + </locale> +</message> + +<message name="followdetect"> + <type> + <arg name="follower" type="unit"></arg> + <arg name="unit" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($follower) followed $unit($unit)."</text> + </nr> + </locale> +</message> + +<message name="leavefail"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) could not leave $region($region)."</text> + </nr> + </locale> +</message> + +<message name="moveblockedbyguard"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="faction" type="faction"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) was kept in $region($region) by $faction($faction)."</text> + </nr> + </locale> +</message> + +<message name="sailfail"> + <type> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"The $ship($ship) could not leave $region($region)."</text> + </nr> + </locale> +</message> + +<message name="starvation"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="dead" type="int"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) looses $int($dead) people due to starvation in $region($region)."</text> + </nr> + </locale> +</message> + +<message name="pest"> + <type> + <arg name="dead" type="int"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"The region is visited by the plague and $int($dead) peasants died."</text> + </nr> + </locale> +</message> + +<message name="usepotion"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="potion" type="resource"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) uses a $resource($potion,1)."</text> + </nr> + </locale> +</message> + +<message name="regenaura"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) regenerates $int($amount) aura in $region($region)."</text> + </nr> + </locale> +</message> + +<message name="teach"> + <type> + <arg name="teacher" type="unit"></arg> + <arg name="student" type="unit"></arg> + <arg name="skill" type="skill"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($teacher) teaches $unit($student) $skill($skill)."</text> + </nr> + </locale> +</message> + +<message name="spydetect"> + <type> + <arg name="target" type="unit"></arg> + <arg name="spy" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($target) feels watched by $unit($spy)."</text> + </nr> + </locale> +</message> + +<message name="spyfail"> + <type> + <arg name="spy" type="unit"></arg> + <arg name="target" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($spy) could not find out anything about $unit($target)."</text> + </nr> + </locale> +</message> + +<message name="stealfail"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="target" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) could not sneak close enough to $unit($target)."</text> + </nr> + </locale> +</message> + +<message name="stealdetect"> + <type> + <arg name="unit" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) feels watched."</text> + </nr> + </locale> +</message> + +<message name="stealfatal"> + <type> + <arg name="unit" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) was caught in attempted theft."</text> + </nr> + </locale> +</message> + +<message name="thiefdiscover"> + <type> + <arg name="target" type="unit"></arg> + <arg name="unit" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($target) caught $unit($unit) in attempted theft."</text> + </nr> + </locale> +</message> + +<message name="stealeffect"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) was robbed in $region($region)."</text> + </nr> + </locale> +</message> + +<message name="newbieimmunity"> + <type> + <arg name="turns" type="int"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"Your party is immune against assaults for $int($turns) more weeks."</text> + </nr> + </locale> +</message> + +<message name="changebanner"> + <type> + <arg name="value" type="string"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"Banner has been changed to '$value'."</text> + </nr> + </locale> +</message> + +<message name="changemail"> + <type> + <arg name="value" type="string"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>" Address has been changed to '$value'."</text> + </nr> + </locale> +</message> + +<message name="changepasswd"> + <type> + <arg name="value" type="string"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"The password has been changed to '$value'."</text> + </nr> + </locale> +</message> + +<message name="eatpeasants"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) ate $int($amount) peasants."</text> + </nr> + </locale> +</message> + +<message name="fleescared"> + <type> + <arg name="amount" type="int"></arg> + <arg name="unit" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$int($amount) peasants fled in fear of $unit($unit)."</text> + </nr> + </locale> +</message> + +<message name="warnillusiondissolve"> + <type> + <arg name="unit" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) will dissolve soon."</text> + </nr> + </locale> +</message> + +<message name="illusiondissolve"> + <type> + <arg name="unit" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) has dissolved without a trace."</text> + </nr> + </locale> +</message> + +<message name="detectforbidden"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) refuses to travel to $region($region)."</text> + </nr> + </locale> +</message> + +<message name="detectforbiddendir"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="direction" type="direction"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) refuses to travel to the$direction($direction)."</text> + </nr> + </locale> +</message> + +<message name="sailforbidden"> + <type> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"The crew of the $ship($ship) refuses to travel to $region($region)."</text> + </nr> + </locale> +</message> + +<message name="sailforbiddendir"> + <type> + <arg name="ship" type="ship"></arg> + <arg name="direction" type="direction"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>" The crew of the $ship($ship) refuses to travel to the$direction($direction)."</text> + </nr> + </locale> +</message> + +<message name="sailnolanding"> + <type> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"The $ship($ship) could not berth in $region($region). The coast is too dangerous for the vessel."</text> + </nr> + </locale> +</message> + +<message name="sailnolandingstorm"> + <type> + <arg name="ship" type="ship"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"In the very last moment, the crew of the $ship($ship) saved the ship from grounding."</text> + </nr> + </locale> +</message> + +<message name="detectocean"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) discovered that $region($region) is Ocean."</text> + </nr> + </locale> +</message> + +<message name="detectoceandir"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="direction" type="direction"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) discovered that an Ocean lies in the $direction($direction)."</text> + </nr> + </locale> +</message> + +<message name="analyse_region_nospell"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"It appears to $unit($mage) that $region($region) is not charmed."</text> + </nr> + </locale> +</message> + +<message name="analyse_unit_nospell"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="target" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"It appears to $unit($mage) that $unit($target) is not charmed."</text> + </nr> + </locale> +</message> + +<message name="analyse_building_nospell"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="building" type="building"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"It appears to $unit($mage) that $building($building) is not charmed."</text> + </nr> + </locale> +</message> + +<message name="analyse_ship_nospell"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="ship" type="ship"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"It appears to $unit($mage) that $ship($ship) is not charmed."</text> + </nr> + </locale> +</message> + +<message name="analyse_region_fail"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"It appears to $unit($mage) that $region($region) is charmed, but no details have been revealed."</text> + </nr> + </locale> +</message> + +<message name="analyse_unit_fail"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="unit" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"It appears to $unit($mage) that $unit($unit) is charmed, but no details have been revealed."</text> + </nr> + </locale> +</message> + +<message name="analyse_building_fail"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="building" type="building"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"It appears to $unit($mage) that $building($building) is charmed, but no details have been revealed."</text> + </nr> + </locale> +</message> + +<message name="analyse_ship_fail"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="ship" type="ship"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"It appears to $unit($mage) that $ship($ship) is charmed, but no details have been revealed."</text> + </nr> + </locale> +</message> + +<message name="analyse_region_noage"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="spell" type="string"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($mage) found out that $region($region) is charmed with $spell, which will last for centuries."</text> + </nr> + </locale> +</message> + +<message name="analyse_unit_noage"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="unit" type="unit"></arg> + <arg name="spell" type="string"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($mage) found out that $unit($unit) is charmed with $spell, which will last for centuries."</text> + </nr> + </locale> +</message> + +<message name="analyse_building_noage"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="building" type="building"></arg> + <arg name="spell" type="string"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($mage) found out that $building($building) is charmed with $spell, which will last for centuries."</text> + </nr> + </locale> +</message> + +<message name="analyse_ship_noage"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="ship" type="ship"></arg> + <arg name="spell" type="string"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($mage) found out that $ship($ship) is charmed with $spell, which will last for centuries."</text> + </nr> + </locale> +</message> + +<message name="analyse_region_age"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="spell" type="string"></arg> + <arg name="months" type="int"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($mage) found out that $region($region) is charmed with $spell, which will last for, about $int($months) more weeks."</text> + </nr> + </locale> +</message> + +<message name="analyse_unit_age"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="unit" type="unit"></arg> + <arg name="spell" type="string"></arg> + <arg name="months" type="int"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($mage) found out that $unit($unit) is charmed with $spell that willlast for about $int($months) more weeks."</text> + </nr> + </locale> +</message> + +<message name="analyse_building_age"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="building" type="building"></arg> + <arg name="spell" type="string"></arg> + <arg name="months" type="int"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($mage) found out that $building($building) is charmed with $spell, which will last for, about $int($months) more weeks."</text> + </nr> + </locale> +</message> + +<message name="analyse_ship_age"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="ship" type="ship"></arg> + <arg name="spell" type="string"></arg> + <arg name="months" type="int"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($mage) found out that $ship($ship) is charmed with $spell, which will last for, about $int($months) more weeks."</text> + </nr> + </locale> +</message> + +<message name="auratransfer_success"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="aura" type="int"></arg> + <arg name="target" type="unit"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) transfers $int($aura) Aura to $unit($target)."</text> + </nr> + </locale> +</message> + +<message name="sellamount"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="resource" type="resource"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) sells $int($amount) $resource($resource,$amount)."</text> + </nr> + </locale> +</message> + +<message name="herbfound"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="amount" type="int"></arg> + <arg name="herb" type="resource"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) in $region($region) finds $int($amount) $resource($herb,$amount)."</text> + </nr> + </locale> +</message> + +<message name="battle"> + <type> + <arg name="string" type="string"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$string"</text> + </nr> + </locale> +</message> + +<message name="travel"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="mode" type="int"></arg> + <arg name="start" type="region"></arg> + <arg name="end" type="region"></arg> + <arg name="regions" type="string"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) $int($mode) from $region($start) to $region($end).$regions"</text> + </nr> + </locale> +</message> + +<message name="transport"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="target" type="unit"></arg> + <arg name="start" type="region"></arg> + <arg name="end" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) transported $unit($target) from $region($start) to $region($end)."</text> + </nr> + </locale> +</message> + +<message name="buildroad"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="size" type="int"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) extends the road network in $region($region) by $int($size)."</text> + </nr> + </locale> +</message> + +<message name="destroy"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="building" type="building"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) destroys $building($building)."</text> + </nr> + </locale> +</message> + +<message name="casualties"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="fallen" type="int"></arg> + <arg name="alive" type="int"></arg> + <arg name="run" type="int"></arg> + <arg name="runto" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) lost $int($fallen) people: $int($alive) survived and $int($run) fled to $region($runto)."</text> + </nr> + </locale> +</message> + +<message name="studycost"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="cost" type="int"></arg> + <arg name="region" type="region"></arg> + <arg name="skill" type="skill"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) spends $int($cost) silver in $region($region) to study $skill($skill)."</text> + </nr> + </locale> +</message> + +<message name="researchherb"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="herb" type="resource"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) found out that $int($amount) $resource($herb,$amount) grow in $region($region)."</text> + </nr> + </locale> +</message> + +<message name="researchherb_none"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) could not find any herbs in $region($region)."</text> + </nr> + </locale> +</message> + +<message name="spellunitnotfound"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="id" type="int36"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) in $region($region): '$command' - Unit $int36($id) could not be located."</text> + </nr> + </locale> +</message> + +<message name="spellbuildingnotfound"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="id" type="int36"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) in $region($region): '$command' - Building $int36($id) could not be located."</text> + </nr> + </locale> +</message> + +<message name="spellshipnotfound"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="id" type="int36"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) in $region($region): '$command' - Ship $int36($id) could not be located."</text> + </nr> + </locale> +</message> + +<message name="spellunitresists"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="id" type="int36"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) in $region($region): '$command' - unit $int36($id) resists the spell."</text> + </nr> + </locale> +</message> + +<message name="spellbuildingresists"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="id" type="int36"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) in $region($region): '$command' - Building $int36($id) could not be charmed."</text> + </nr> + </locale> +</message> + +<message name="spellshipresists"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="id" type="int36"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) in $region($region): '$command' - Ship $int36($id) could not be charmed."</text> + </nr> + </locale> +</message> + +<message name="spellregionresists"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) in $region($region): '$command' - The region could not be charmed."</text> + </nr> + </locale> +</message> + +<message name="magiccreate_effect"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + <arg name="command" type="string"></arg> + <arg name="unit" type="unit"></arg> + <arg name="amount" type="int"></arg> + <arg name="item" type="resource"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) in $region($region): '$command' - $unit($unit) creates $int($amount) $resource($item,$amount)."</text> + </nr> + </locale> +</message> + +<message name="shipdestroy"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) sunk $ship($ship) in $region($region)."</text> + </nr> + </locale> +</message> + +<message name="orcified"> + <type> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"People $region($region) flee from an Orc superiority."</text> + </nr> + </locale> +</message> + +<message name="deorcified"> + <type> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"Little by little, people return to $region($region)."</text> + </nr> + </locale> +</message> + +<message name="piratenovictim"> + <type> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"The $ship($ship) could not capture other ships in $region($region)."</text> + </nr> + </locale> +</message> + +<message name="piratesawvictim"> + <type> + <arg name="ship" type="ship"></arg> + <arg name="region" type="region"></arg> + <arg name="dir" type="direction"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"The $ship($ship) in $region($region) made $direction($dir) a target."</text> + </nr> + </locale> +</message> + +<message name="firewall_damage"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) steps through the wall of fire into $region($region) and receives severe burn damage."</text> + </nr> + </locale> +</message> + +<message name="firewall_death"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) dies trying to cross the wall of fire into $region($region)."</text> + </nr> + </locale> +</message> + +<message name="firewall_effect"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($mage) creates a wall of fire in $region($region)."</text> + </nr> + </locale> +</message> + +<message name="wisps_effect"> + <type> + <arg name="mage" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($mage) summons wisps in $region($region)."</text> + </nr> + </locale> +</message> + +<message name="destroy_road"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="from" type="region"></arg> + <arg name="to" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) demolishes the road between $region($from) and $region($to)."</text> + </nr> + </locale> +</message> + +<message name="desertion"> + <type> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$unit($unit) in $region($region) abandons your cause."</text> + </nr> + </locale> +</message> + +<message name="volcanostartsmoke"> + <type> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"Columns of smoke are released by the volcano of $region($region)."</text> + </nr> + </locale> +</message> + +<message name="volcanostopsmoke"> + <type> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"The volcano of $region($region) stops releasing smoke."</text> + </nr> + </locale> +</message> + +<message name="volcano_dead"> + <type> + <arg name="dead" type="int"></arg> + <arg name="unit" type="unit"></arg> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$int($dead) people in $unit($unit) perisch when the volcano in $region($region) breaks out."</text> + </nr> + </locale> +</message> + +<message name="volcanooutbreak"> + <type> + <arg name="regionv" type="region"></arg> + <arg name="regionn" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"The volcano in $region($regionv) breaks out. The lava devastates $region($regionn)."</text> + </nr> + </locale> +</message> + +<message name="volcanooutbreaknn"> + <type> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"The volcano in $region($region) breaks out."</text> + </nr> + </locale> +</message> + +<message name="phunger"> + <type> + <arg name="dead" type="int"></arg> + </type> + <locale name="en"> + <nr section="none"> + <text>"$int($dead) peasants starve."</text> + </nr> + </locale> +</message> + +<message name="new_fspecial"> + <type> + <arg name="special" type="string"></arg> + </type> + <locale name="en"> + <nr section="events"> + <text>"The Gods grant us the powers of $special."</text> + </nr> + </locale> +</message> + +<message name="new_fspecial_level"> + <type> + <arg name="special" type="string"></arg> + <arg name="level" type="int"></arg> + </type> + <locale name="en"> + <nr section="events"> + <text>"The Gods grant us the powers of $special ($int($level))."</text> + </nr> + </locale> +</message> + +<message name="pray_success"> + <type> + <arg name="unit" type="unit"></arg> + </type> + <locale name="en"> + <nr section="events"> + <text>"The Gods have listened to $unit($unit)."</text> + </nr> + </locale> +</message> + +<message name="msg_battle"> + <type> + <arg name="string" type="string"></arg> + </type> + <locale name="en"> + <nr section="battle"> + <text>"$string"</text> + </nr> + </locale> +</message> + +<message name="iceberg_drift"> + <type> + <arg name="region" type="region"></arg> + <arg name="dir" type="direction"></arg> + </type> + <locale name="en"> + <nr section="events"> + <text>"The iceberg $region($region) drifts $direction($dir)."</text> + </nr> + </locale> +</message> + +<message name="overrun_by_iceberg"> + <type> + <arg name="ship" type="ship"></arg> + </type> + <locale name="en"> + <nr section="events"> + <text>"The $ship($ship) has been damaged by a collision with an iceberg."</text> + </nr> + </locale> +</message> + +<message name="overrun_by_iceberg_des"> + <type> + <arg name="ship" type="ship"></arg> + </type> + <locale name="en"> + <nr section="events"> + <text>"The $ship($ship) has been destroyed by a collision with an iceberg."</text> + </nr> + </locale> +</message> + +<message name="iceberg_land"> + <type> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="events"> + <text>"The iceberg $region($region) drifts onto a coast."</text> + </nr> + </locale> +</message> + +<message name="iceberg_create"> + <type> + <arg name="region" type="region"></arg> + </type> + <locale name="en"> + <nr section="events"> + <text>"The glacier in $region($region) breaks up and drifts away."</text> + </nr> + </locale> +</message> + +<message name="drown_amphibian_nodead"> + <type> + <arg name="unit" type="unit"></arg> + </type> + <locale name="en"> + <nr section="events"> + <text>"$unit($unit) is taking damage on the water."</text> + </nr> + </locale> +</message> + +<message name="drown_amphibian_dead"> + <type> + <arg name="amount" type="int"></arg> + <arg name="unit" type="unit"></arg> + </type> + <locale name="en"> + <nr section="events"> + <text>"$int($amount) members of $unit($unit) drown."</text> + </nr> + </locale> +</message> + +<message name="drown"> + <type> + </type> + <locale name="{unit} drowns."> + <nr section="events"> + <text>""</text> + </nr> + </locale> +</message> + +</messages> diff --git a/src/res/en/strings.txt b/src/res/en/strings.txt index 3f9d416b7..e26c141b3 100644 --- a/src/res/en/strings.txt +++ b/src/res/en/strings.txt @@ -13,6 +13,7 @@ section_magic;en;Magic and Artefacts section_movement;en;Movement and Travel section_study;en;Learning and Teaching section_battle;en;Battles +section_none;en;Miscellaneous # Items herb;en;herb @@ -155,3 +156,47 @@ trollbelt;en;trollbelt # Spezialitems lmsreward;en;Belt of Heroic Legends + +# Terraintypen +maelstrom;en;maelstrom +ocean;en;ocean +plain;en;plain +forest;en;forest +swamp;en;swamp +desert;en;desert +highland;en;highland +mountain;en;mountain +glacier;en;glacier +firewall;en;firewall +grassland;en;steppe +volcano;en;volcano +fog;en;fog +iceberg;en;iceberg +thickfog;en;thick fog +hell;en;hell +activevolcano;en;active volcano +hall1;en;hallway +corridor1;en;corridor + +maelstrom_trail;en;a %s +ocean_trail;en;an %s +plain_trail;en;the plain of %s +forest_trail;en;the forests of %s +swamp_trail;en;the swamps of %s +desert_trail;en;the deserts of %s +highland_trail;en;the highlands of %s +mountain_trail;en;the mountains of %s +glacier_trail;en;the glacier of %s +firewall_trail;en;a %s +grassland_trail;en;the steppe of %s +volcano_trail;en;a %s +fog_trail;en;fog_trail +iceberg_trail;en;an %s +thickfog_trail;en;%s +hell_trail;en;%s +activevolcano_trail;en;an %s +hall1_trail;en;the %s +corridor1_trail;en;a %s + +caldera;en;caldera +xmas_exit;en;portal diff --git a/src/tools/atoi36.c b/src/tools/atoi36.c new file mode 100644 index 000000000..b23cc1725 --- /dev/null +++ b/src/tools/atoi36.c @@ -0,0 +1,9 @@ +#include <base36.h> + +int main(int argc, char**argv) +{ + int i; + for (i=1;i!=argc;++i) { + printf("%s -> %d\n", argv[i], atoi36(argv[i])); + } +} diff --git a/src/tools/msg2xml.c b/src/tools/msg2xml.c index b3bfa8038..c90aa5c6e 100644 --- a/src/tools/msg2xml.c +++ b/src/tools/msg2xml.c @@ -9,17 +9,17 @@ static struct vartype { const char * msg; } vartype[] = { { "from", "unit", "donation"}, + { "to", "unit", "donation" }, /* strange and to be changed */ - { "destruction", "int", "siege" }, + { "mode", "int", "travel" }, { "discover", "string", "givedumb" }, { "receipient", "unit", "givecommand" }, { "sink", "string", "entermaelstrom" }, { "sink", "string", "storm" }, { "using", "resource", "errusingpotion" }, { "type", "string", "scunicorn" }, - { "mode", "string", "travel" }, { "special", "string", "new_fspecial" }, { "special", "string", "new_fspecial_level" }, @@ -116,6 +116,7 @@ type(const char * name,const char * msg) static void parse_message(char * b, FILE * ostream) { + const char * vtype; char *m, *a = NULL, message[8192]; char * name; char * language; @@ -166,7 +167,12 @@ parse_message(char * b, FILE * ostream) case '}': *b++ = '\0'; args[i] = strdup(a); - sprintf(m, "$%s", args[i]); + vtype = type(args[i], name); + if (strcmp(vtype, "string")==0) { + sprintf(m, "$%s", args[i]); + } else { + sprintf(m, "$%s($%s)", vtype, args[i]); + } m+=strlen(m); i++; f_symbol = false; @@ -188,12 +194,14 @@ parse_message(char * b, FILE * ostream) /* add the messagetype */ fprintf(ostream, "<message name=\"%s\">\n", name); + fputs("\t<type>\n", ostream); for (i=0;args[i];++i) { - fprintf(ostream, "\t<param name=\"%s\" type=\"%s\"></param>\n", args[i], type(args[i], name)); + fprintf(ostream, "\t\t<arg name=\"%s\" type=\"%s\"></arg>\n", args[i], type(args[i], name)); } + fputs("\t</type>\n", ostream); fprintf(ostream, "\t<locale name=\"%s\">\n", language); fprintf(ostream, "\t\t<nr section=\"%s\">\n", - language, section); + section); fprintf(ostream, "\t\t\t<text>%s</text>\n", message); fputs("\t\t</nr>\n", ostream); fputs("\t</locale>\n", ostream); diff --git a/src/tools/translator.c b/src/tools/translator.c index c2aa48c15..cc268ba51 100644 --- a/src/tools/translator.c +++ b/src/tools/translator.c @@ -42,9 +42,9 @@ test_message(void) tsf_register("string", &cr_string); tsf_register("int", &cr_int); - crt_register(mt_example, NULL); - nrt_register(mt_example, NULL, "\"$subject hat $int($number) $object\""); - cr_render(msg, NULL, buffer); + crt_register(mt_example); + nrt_register(mt_example, NULL, "\"$subject hat $int($number) $object\"", 0, "default"); + cr_render(msg, buffer); puts(buffer); nr_render(msg, NULL, buffer); puts(buffer); @@ -232,8 +232,8 @@ parse_message(char * b) /* add the messagetype */ mtype = mt_register(mt_new(name, args)); - nrt_register(mtype, lang, message); - crt_register(mtype, lang); + nrt_register(mtype, lang, message, 0, "default"); + crt_register(mtype); } static void @@ -250,15 +250,15 @@ static void test_compat() { char buffer[1024]; - FILE * F = fopen("res/de_DE/messages.txt", "rt"); + FILE * F = fopen("res/de/messages.txt", "rt"); message * msg; if (F) { read_messages(F); fclose(F); + msg = new_message(NULL, "entrise%s:region", "Porzel (8,7)"); + if (cr_render(msg, buffer)==0) puts(buffer); + if (nr_render(msg, NULL, buffer)==0) puts(buffer); } - msg = new_message(NULL, "entrise%s:region", "Porzel (8,7)"); - if (cr_render(msg, NULL, buffer)==0) puts(buffer); - if (nr_render(msg, NULL, buffer)==0) puts(buffer); } int diff --git a/src/tools/xmltest.c b/src/tools/xmltest.c index 83e1460b1..01a569aae 100644 --- a/src/tools/xmltest.c +++ b/src/tools/xmltest.c @@ -47,7 +47,7 @@ main(int argc, char** argv) xml_cb.plaintext = cbplaintext; xml_cb.tagbegin = cbtagbegin; - nretval = xml_parse(istream, &xml_cb); + nretval = xml_parse(istream, &xml_cb, NULL); if (istream!=stdin) fclose(istream); if (ostream!=stdout) fclose(ostream); }