diff --git a/src/common/gamecode/report.c b/src/common/gamecode/report.c index 30c80bb8c..2449cda4e 100644 --- a/src/common/gamecode/report.c +++ b/src/common/gamecode/report.c @@ -1256,7 +1256,7 @@ report_template(const char * filename, report_context * ctx) rps_nowrap(F, ""); rnl(F); - sprintf(buf, "; ECHECK %s-w4 -r%d -v%s", (f->options & Pow(O_SILBERPOOL)) ? "-l " : "", + sprintf(buf, "; ECHECK %s-w4 -r%d -v%s", (f->options & want(O_SILBERPOOL)) ? "-l " : "", f->race->recruitcost, ECHECK_VERSION); /* -v3.4: ECheck Version 3.4.x */ rps_nowrap(F, buf); @@ -1748,7 +1748,7 @@ report_plaintext(const char * filename, report_context * ctx) attrib *a; message * m; unsigned char op; - int ix = Pow(O_STATISTICS); + int ix = want(O_STATISTICS); int wants_stats = (f->options & ix); FILE * F = fopen(filename, "wt"); seen_region * sr = NULL; @@ -1892,7 +1892,7 @@ report_plaintext(const char * filename, report_context * ctx) sprintf(buf, "%s:", LOC(f->locale, "nr_options")); for (op = 0; op != MAXOPTIONS; op++) { - if (f->options & (int) pow(2, op)) { + if (f->options & want(op)) { scat(" "); scat(LOC(f->locale, options[op])); #ifdef AT_OPTION @@ -2843,6 +2843,19 @@ eval_unit(struct opstack ** stack, const void * userdata) /* unit -> string */ opush(stack, var); } +static void +eval_unit_dative(struct opstack ** stack, const void * userdata) /* unit -> string */ +{ + const struct faction * f = (const struct faction *)userdata; + const struct unit * u = (const struct unit *)opop(stack).v; + const char * c = u?unitname(u):LOC(f->locale, "unknown_unit_dative"); + size_t len = strlen(c); + variant var; + + var.v = strcpy(balloc(len+1), c); + opush(stack, var); +} + static void eval_spell(struct opstack ** stack, const void * userdata) /* unit -> string */ { @@ -3111,6 +3124,7 @@ report_init(void) add_function("faction", &eval_faction); add_function("ship", &eval_ship); add_function("unit", &eval_unit); + add_function("unit.dative", &eval_unit_dative); add_function("unit.name", &eval_unitname); add_function("unit.id", &eval_unitid); add_function("building", &eval_building); diff --git a/src/res/de/strings.xml b/src/res/de/strings.xml index ee195a2f2..1e0dc17c7 100644 --- a/src/res/de/strings.xml +++ b/src/res/de/strings.xml @@ -656,21 +656,25 @@ - eine unbekanntes Gebäude + ein unbekanntes Gebäude an unknown building - eine unbekannter zauber + ein unbekannter zauber an unknown spell - eine unbekanntes Schiff + ein unbekanntes Schiff an unknown ship eine unbekannte Einheit an unknown unit + + einer unbekannten Einheit + an unknown unit + diff --git a/src/res/messages.xml b/src/res/messages.xml index 6d4a4dbe0..842408bce 100644 --- a/src/res/messages.xml +++ b/src/res/messages.xml @@ -625,7 +625,7 @@ - "Eine Botschaft von $unit($sender) aus $region($region): '$string'" + "Eine Botschaft von $unit.dative($sender) aus $region($region): '$string'" "A message by $unit($sender) from $region($region): '$string'" @@ -635,7 +635,7 @@ - "In $region($region) erhielt $unit($unit) eine Botschaft von $unit($sender): '$string'" + "In $region($region) erhielt $unit($unit) eine Botschaft von $unit.dative($sender): '$string'" "In $region($region), $unit($unit) received a message by $unit($sender): '$string'" @@ -1498,7 +1498,7 @@ - "Eine Botschaft von $unit($unit) in $region($region): 'Ups! Quack, Quack!'" + "Eine Botschaft von $unit.dative($unit) in $region($region): 'Ups! Quack, Quack!'" "A message from $unit($unit) in $region($region): 'Oops! Croak, Croak!'" @@ -1561,7 +1561,7 @@ - "$unit($unit) in $region($region): '$order($command)' - Der Zauber von $unit($unit) war viel zu schwach und löst sich gleich wieder auf." + "$unit($unit) in $region($region): '$order($command)' - Der Zauber von $unit.dative($unit) war viel zu schwach und löst sich gleich wieder auf." @@ -1596,7 +1596,7 @@ - "$unit($mage) erhöht die Körperkraft von $unit($target) beträchtlich." + "$unit($mage) erhöht die Körperkraft von $unit.dative($target) beträchtlich." "$unit($mage) increases the strength of $unit($target) dramatically." @@ -2050,7 +2050,7 @@ - "$unit($unit) wurde in $region($region) von $unit($guard) aufgehalten." + "$unit($unit) wurde in $region($region) von $unit.dative($guard) aufgehalten." "$unit($unit) was kept in $region($region) by $unit($guard)." "$unit($unit) was kept in $region($region) by $unit($guard)." @@ -2183,7 +2183,7 @@ - "Die Partei bekommt von $unit($unit) in $region($region) einen Spitznamen." + "Die Partei bekommt von $unit.dative($unit) in $region($region) einen Spitznamen." "Your faction received a nickname from $unit($unit)." @@ -2200,7 +2200,7 @@ - "$building($building) in $region($region) bekommt von $unit($renamer) einen Spitznamen." + "$building($building) in $region($region) bekommt von $unit.dative($renamer) einen Spitznamen." "$building($building) in $region($region) received a nickname from $unit($renamer)." @@ -2217,7 +2217,7 @@ - "Die $ship($ship) in $region($region) bekommt von $unit($renamer) einen Spitznamen." + "Die $ship($ship) in $region($region) bekommt von $unit.dative($renamer) einen Spitznamen." "$ship($ship) in $region($region) received a nickname from $unit($renamer)." @@ -2234,7 +2234,7 @@ - "$unit($renamed) in $region($region) bekommt von $unit($renamer) einen Spitznamen." + "$unit($renamed) in $region($region) bekommt von $unit.dative($renamer) einen Spitznamen." "$unit($renamed) in $region($region) received a nickname from $unit($renamer)." @@ -2368,7 +2368,7 @@ - "$unit($mage) legt einen Schleier um die Ausrüstung von $unit($target)." + "$unit($mage) legt einen Schleier um die Ausrüstung von $unit.dative($target)." "$unit($mage) shrouds the equipment of $unit($target) in shadows." @@ -2549,7 +2549,7 @@ - "$unit($unit) wurde von $unit($target) beim versuchten Diebstahl ertappt." + "$unit($unit) wurde von $unit.dative($target) beim versuchten Diebstahl ertappt." "$unit($unit) was caught by $unit($target) in attempted theft." "$unit($unit) was caught by $unit($target) in attempted theft." @@ -6291,7 +6291,7 @@ - "Antimagie von $unit($self) blockiert in $region($region) einen Zauber von $unit($mage)." + "Antimagie von $unit.dative($self) blockiert in $region($region) einen Zauber von $unit.dative($mage)." "In $region($region), anti-magic from $unit($self) blocks the spell of $unit($mage)." @@ -6301,7 +6301,7 @@ - "$unit($self) schwächt in $region($region) einen Zauber von $unit($mage) durch Antimagie ab." + "$unit($self) schwächt in $region($region) einen Zauber von $unit.dative($mage) durch Antimagie ab." "In $region($region), anti-magic from $unit($self) reduces the effect of $unit($mage)'s spell."