diff --git a/src/common/kernel/eressea.c b/src/common/kernel/eressea.c index 27df9c55b..2e983041b 100644 --- a/src/common/kernel/eressea.c +++ b/src/common/kernel/eressea.c @@ -1963,10 +1963,20 @@ create_unit(region * r, faction * f, int number, const struct race *urace, int i u->ship = creator->ship; } - /* Temps von parteigetarnten Einheiten sind wieder parteigetarnt */ - if (fval(creator, UFL_PARTEITARNUNG)) - fset(u, UFL_PARTEITARNUNG); + /* Tarnlimit wird vererbt */ + if (fval(creator, UFL_STEALTH)) { + attrib * a = a_find(creator->attribs, &at_stealth); + if (a) { + int stealth = a->data.i; + a = a_add(&u->attribs, a_new(&at_stealth)); + a->data.i = stealth; + } + } + /* Temps von parteigetarnten Einheiten sind wieder parteigetarnt */ + if (fval(creator, UFL_PARTEITARNUNG)) { + fset(u, UFL_PARTEITARNUNG); + } /* Daemonentarnung */ set_racename(&u->attribs, get_racename(creator->attribs)); if (fval(u->race, RCF_SHAPESHIFT) && fval(creator->race, RCF_SHAPESHIFT)) { diff --git a/src/common/spells/spells.c b/src/common/spells/spells.c index 3bf17db3a..2d73bcdfc 100644 --- a/src/common/spells/spells.c +++ b/src/common/spells/spells.c @@ -2953,7 +2953,7 @@ sp_firewall(castorder *co) b = get_borders(r, r2); while (b!=NULL) { if (b->type == &bt_firewall) break; - b = b->next; + b = b->next; } if (b==NULL) { b = new_border(&bt_firewall, r, r2); diff --git a/src/common/util/language.c b/src/common/util/language.c index f9adb1ce0..610a1bb92 100644 --- a/src/common/util/language.c +++ b/src/common/util/language.c @@ -234,9 +234,6 @@ static lstr lstrs[MAXLOCALES]; struct tnode * get_translations(const struct locale * lang, int index) { - static struct lstr * lnames = NULL; - static const struct locale * lastlang = NULL; - assert(lang->indexindexindex].tokens+index;