diff --git a/res/core/messages.xml b/res/core/messages.xml index d40efb9ac..ecb5707c1 100644 --- a/res/core/messages.xml +++ b/res/core/messages.xml @@ -2690,6 +2690,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/res/translations/messages.de.po b/res/translations/messages.de.po index 5d2717e51..af60271ba 100644 --- a/res/translations/messages.de.po +++ b/res/translations/messages.de.po @@ -2775,7 +2775,10 @@ msgid "error324" msgstr "\"$unit($unit) in $region($region): '$order($command)' - Die Einheit gehört nicht zu unserer Partei.\"" msgid "error322" -msgstr "\"$unit($unit) in $region($region): '$order($command)' - Die Einheit ist bereits auf einem Schiff.\"" +msgstr "\"$unit($unit) in $region($region): '$order($command)' - Nur Schiffe gleicher Bauart können einen Konvoi bilden.\"" + +msgid "error328" +msgstr "\"$unit($unit) in $region($region): '$order($command)' - Nur Schiffe an der selben Küste können einen Konvoi bilden.\"" msgid "error323" msgstr "\"$unit($unit) in $region($region): '$order($command)' - Das Schiff ist verzaubert.\"" diff --git a/res/translations/messages.en.po b/res/translations/messages.en.po index 659adee9f..9ec9c934b 100644 --- a/res/translations/messages.en.po +++ b/res/translations/messages.en.po @@ -2781,11 +2781,14 @@ msgid "error324" msgstr "\"$unit($unit) in $region($region): '$order($command)' - The unit is not one of ours.\"" msgid "error322" -msgstr "\"$unit($unit) in $region($region): '$order($command)' - The unit is already on a ship.\"" +msgstr "\"$unit($unit) in $region($region): '$order($command)' - Only ships of the same type can form a convoy.\"" msgid "error323" msgstr "\"$unit($unit) in $region($region): '$order($command)' - The ship is under a spell.\"" +msgid "error328" +msgstr "\"$unit($unit) in $region($region): '$order($command)' - All ships of a convoy must be on the same coast.\"" + msgid "dissolve_units_2" msgstr "\"$unit($unit) in $region($region): $int($number) $race($race,$number) turned into $if($eq($number,1),\"a tree\", \"trees\").\"" diff --git a/src/economy.c b/src/economy.c index 35e08ade6..5da191e50 100644 --- a/src/economy.c +++ b/src/economy.c @@ -1775,12 +1775,12 @@ static void breedtrees(unit * u, int raw) } if (n > raw) n = raw; - /* Fuer jeden Samen Talent*5% Erfolgschance. */ - for (i = n; i > 0; i--) { - if (rng_int() % 100 < skill * 5) - planted++; + /* Talent * 5% der Samen setzen an (max 100%) */ + planted = n; + if (skill < 20) { + planted = planted * skill / 20; } - rsettrees(r, 1, rtrees(r, 1) + planted); + rsettrees(r, 0, rtrees(r, 0) + planted); /* Alles ok. Abziehen. */ produceexp(u, SK_HERBALISM, u->number); diff --git a/src/give.c b/src/give.c index ac792da9a..ff1a3ac03 100644 --- a/src/give.c +++ b/src/give.c @@ -371,7 +371,7 @@ message * give_ship(unit *u1, unit *u2, int n, order *ord) u2->ship->coast = u1->ship->coast; } else { - return msg_error(u1, ord, 182); + return msg_error(u1, ord, 328); } } } diff --git a/src/kernel/messages.c b/src/kernel/messages.c index 656e08b3a..98411973d 100644 --- a/src/kernel/messages.c +++ b/src/kernel/messages.c @@ -62,6 +62,7 @@ static message *missing_feedback(const char *name, const struct unit *u, log_error("trying to create undefined feedback of type \"%s\"\n", name); } else if (missing_message_mode == MESSAGE_MISSING_REPLACE) { + log_warning("trying to create undefined message of type \"%s\"\n", name); if (strcmp(name, "missing_feedback") != 0) { if (!mt_find("missing_feedback")) { mt_create_va(mt_new("missing_feedback", NULL), "unit:unit", diff --git a/src/laws.c b/src/laws.c index 4170975b5..53b49e1b6 100644 --- a/src/laws.c +++ b/src/laws.c @@ -594,6 +594,13 @@ growing_trees_e3(region * r, const int current_season, } } +static short cap_short(int i) { + if (i > SHRT_MIN) { + return ((i < SHRT_MAX) ? (short)i : SHRT_MAX); + } + return SHRT_MIN; +} + static void growing_trees(region * r, const season_t current_season, const season_t last_weeks_season) { @@ -687,8 +694,8 @@ growing_trees(region * r, const season_t current_season, const season_t last_wee a = a_find(r->attribs, &at_germs); if (!a) { a = a_add(&r->attribs, a_new(&at_germs)); - a->data.sa[0] = (short)rtrees(r, 0); - a->data.sa[1] = (short)rtrees(r, 1); + a->data.sa[0] = cap_short(rtrees(r, 0)); + a->data.sa[1] = cap_short(rtrees(r, 1)); } /* wir haben 6 Wochen zum wachsen, jeder Same/Spross hat 18% Chance * zu wachsen, damit sollten nach 5-6 Wochen alle gewachsen sein */