diff --git a/src/common/gamecode/report.c b/src/common/gamecode/report.c index a11325dff..2bd2fc563 100644 --- a/src/common/gamecode/report.c +++ b/src/common/gamecode/report.c @@ -2083,7 +2083,7 @@ report_plaintext(const char * filename, report_context * ctx) } if (!fval(r->terrain, SEA_REGION)) { if (sh->coast != NODIRECTION) { - scat(LOC(f->locale, "list_and")); + scat(LOC(f->locale, ", ")); scat(LOC(f->locale, coasts[sh->coast])); } } diff --git a/src/common/spells/spells.c b/src/common/spells/spells.c index a99860cb0..523b556cf 100644 --- a/src/common/spells/spells.c +++ b/src/common/spells/spells.c @@ -4444,11 +4444,7 @@ sp_recruit(castorder *co) u = create_unit(r, f, n, f->race, 0, (n == 1 ? "Bauer" : "Bauern"), mage); set_order(&u->thisorder, default_order(f->locale)); - sprintf(buf, "%s konnte %d %s anwerben", unitname(mage), n, - n == 1 ? "Bauer" : "Bauern"); - addmessage(r, mage->faction, buf, MSG_MAGIC, ML_INFO); - - if (f->race==new_race[RC_URUK]) n = (n+1) / 2; + ADDMSG(&mage->faction->msgs, msg_message("recruit_effect", "mage amount", mage, n)); return cast_level; } diff --git a/src/common/spells/unitcurse.c b/src/common/spells/unitcurse.c index 4930c9a99..bc43ed137 100644 --- a/src/common/spells/unitcurse.c +++ b/src/common/spells/unitcurse.c @@ -217,28 +217,28 @@ cinfo_sparkle(const void * obj, typ_t typ, const curse *c, int self) { const char * effects[] = { NULL, /* end grau*/ - "%s ist im Traum eine Fee erschienen", - "%s wird von bösen Alpträumen geplagt", + "sparkle_1", + "sparkle_2", NULL, /* end traum */ - "%s wird von einem glitzernden Funkenregen umgeben", - "Ein schimmernder Lichterkranz umgibt %s", + "sparkle_3", + "sparkle_4", NULL, /* end tybied */ - "Eine Melodie erklingt, und %s tanzt bis spät in die Nacht hinein", - "%s findet eine kleine Flöte, die eine wundersame Melodie spielt", - "Die Frauen des nahegelegenen Dorfes bewundern %s verstohlen", - "Eine Gruppe vorbeiziehender Bergarbeiter rufen %s eindeutig Zweideutiges nach", + "sparkle_5", + "sparkle_6", + "sparkle_7", + "sparkle_8", NULL, /* end cerrdor */ - "%s bekommt von einer Schlange einen Apfel angeboten", - "Ein Einhorn berührt %s mit seinem Horn und verschwindet kurz darauf im Unterholz", - "Vogelzwitschern begleitet %s auf all seinen Wegen", - "Leuchtende Blumen erblühen rund um das Lager von %s", + "sparkle_9", + "sparkle_10", + "sparkle_11", + "sparkle_12", NULL, /* end gwyrrd */ - "Über %s zieht eine Gruppe Geier ihre Kreise", - "Der Kopf von %s hat sich in einen grinsenden Totenschädel verwandelt", - "Ratten folgen %s auf Schritt und Tritt", - "Pestbeulen befallen den Körper von %s", - "Eine dunkle Fee erscheint %s im Schlaf. Sie ist von schauriger Schönheit", - "Fäulnisgeruch dringt %s aus allen Körperöffnungen", + "sparkle_13", + "sparkle_14", + "sparkle_15", + "sparkle_16", + "sparkle_17", + "sparkle_18", NULL, /* end draig */ }; int m, begin=0, end=0; @@ -258,9 +258,10 @@ cinfo_sparkle(const void * obj, typ_t typ, const curse *c, int self) while (effects[end]!=NULL) ++end; if (end==begin) return NULL; - else sprintf(buf, effects[begin + curse_geteffect(c) % (end-begin)], u->name); - - return msg_message("curseinfo::info_str", "text id", buf, c->no); + else { + int index = begin + curse_geteffect(c) % (end-begin); + return msg_message(mkname("curseinfo", effects[index]), "text id", buf, c->no); + } } static struct curse_type ct_sparkle = { "sparkle", CURSETYP_UNIT, CURSE_SPREADMODULO, ( M_MEN | M_DURATION ), diff --git a/src/res/messages.xml b/src/res/messages.xml index 680353651..1f01fd2c9 100644 --- a/src/res/messages.xml +++ b/src/res/messages.xml @@ -39,6 +39,150 @@ "$unit($mage) beschwört einen Schleier der Verwirrung." "$unit($mage) summons a fog of confusion." + + + + + + "$unit($unit) ist im Traum eine Fee erschienen. ($int36($id))" + "In a dream, a fairy appears to $unit($unit). ($int36($id))" + + + + + + + "$unit($unit) wird von bösen Alpträumen geplagt. ($int36($id))" + "$unit($unit) is haunted by terrbile nightmares. ($int36($id))" + + + + + + + "$unit($unit) wird von einem glitzernden Funkenregen umgeben. ($int36($id))" + "$unit($unit) is surrounded by a shower of glittering sparkles. ($int36($id))" + + + + + + + "Ein schimmernder Lichterkranz umgibt $unit($unit). ($int36($id))" + "A circle of shimmering lights surrounds $unit($unit). ($int36($id))" + + + + + + + "Eine Melodie erklingt, und $unit($unit) tanzt bis spät in die Nacht hinein. ($int36($id))" + "A haunting melody fills the air, and $unit($unit) dances until late into the night. ($int36($id))" + + + + + + + "$unit($unit) findet eine kleine Flöte, die eine wundersame Melodie spielt. ($int36($id))" + "$unit($unit) finds a small flute that plays a beautiful melody. ($int36($id))" + + + + + + + "Die Frauen des nahegelegenen Dorfes bewundern $unit($unit) verstohlen. ($int36($id))" + "The women of the nearby village cast furtive looks at $unit($unit). ($int36($id))" + + + + + + + "Eine Gruppe vorbeiziehender Bergarbeiter rufen $unit($unit) eindeutig Zweideutiges nach. ($int36($id))" + "A group of passing miners makes passes at $unit($unit). ($int36($id))" + + + + + + + "$unit($unit) bekommt von einer Schlange einen Apfel angeboten. ($int36($id))" + "A large green snake offers $unit($unit) a fine-looking apple. ($int36($id))" + + + + + + + "Ein Einhorn berührt $unit($unit) mit seinem Horn und verschwindet kurz darauf im Unterholz. ($int36($id))" + "A unicorn touches $unit($unit) with its horn and vanishes into the forest quickly after. ($int36($id))" + + + + + + + "Vogelzwitschern begleitet $unit($unit) auf all seinen Wegen. ($int36($id))" + "Bird songs follow $unit($unit) on all his travels. ($int36($id))" + + + + + + + "Leuchtende Blumen erblühen rund um das Lager von $unit($unit). ($int36($id))" + "Brightly coloured flowers pop up all around $unit($unit)'s camp. ($int36($id))" + + + + + + + "Über $unit($unit) zieht eine Gruppe Geier ihre Kreise. ($int36($id))" + "A group of vultures circles above $unit($unit). ($int36($id))" + + + + + + + "Der Kopf von $unit($unit) hat sich in einen grinsenden Totenschädel verwandelt. ($int36($id))" + "The head of $unit($unit) has turned into a madly grinning skull. ($int36($id))" + + + + + + + "Ratten folgen $unit($unit) auf Schritt und Tritt. ($int36($id))" + "Rats follow $unit($unit)'s every step. ($int36($id))" + + + + + + + "Pestbeulen befallen den Körper von $unit($unit). ($int36($id))" + "The body of $unit($unit) is disfigured by hideous boils. ($int36($id))" + + + + + + + "Eine dunkle Fee erscheint $unit($unit) im Schlaf. Sie ist von schauriger Schönheit. ($int36($id))" + "A dark and mysterious fairy appears before $unit($unit). She is of bewitching beauty. ($int36($id))" + + + + + + + "Fäulnisgeruch dringt $unit($unit) aus allen Körperöffnungen. ($int36($id))" + "The stench of decay is poring from all the orifices of $unit($unit). ($int36($id))" + @@ -884,6 +1028,14 @@ "$unit($unit) gelingt es, durch die Nebel auf die Realität zu blicken." "$unit($unit) manages to catch a glimpse of reality through the fog." + + + + + + "$unit($mage) konnte $int($amount) $if($eq($amount,1),"Bauer","Bauern") anwerben." + "$unit($mage) managed to recruit $int($amount) $if($eq($amount,1),"peasant","peasants")." + @@ -2536,8 +2688,7 @@ "$unit($unit) in $region($region) stellt fest, dass es hier $localize($amount,$locale("de")) $resource($herb,$amount) gibt." - "$unit($unit) discovers that $localize($amount,$locale("en")) $resource($herb,$amount) grow in $region($region)." - "$unit($unit) discovers that $localize($amount,$locale("fr")) $resource($herb,$amount) grow in $region($region)." + "$unit($unit) discovers that $localize($amount,$locale("en")) $resource($herb,$amount) grow in $region($region)." diff --git a/src/scripts/eressea/items.lua b/src/scripts/eressea/items.lua index 8558624fc..020c59c96 100644 --- a/src/scripts/eressea/items.lua +++ b/src/scripts/eressea/items.lua @@ -2,11 +2,13 @@ function use_ring_of_levitation(u, amount) if u.ship~=nil and amount>0 then local mallorn = 0 for u2 in u.region.units do - local i = u2:get_item("mallornseed") - if i>0 then - u2:use_item("mallornseed", i) - u2:add_item("seed", i) - mallorn = mallorn + i + if u2.ship==u.ship then + local i = u2:get_item("mallornseed") + if i>0 then + u2:use_item("mallornseed", i) + u2:add_item("seed", i) + mallorn = mallorn + i + end end end if mallorn>0 then