diff --git a/src/common/kernel/curse.c b/src/common/kernel/curse.c index e9970022f..2af33397c 100644 --- a/src/common/kernel/curse.c +++ b/src/common/kernel/curse.c @@ -676,189 +676,6 @@ is_cursed_with(attrib *ap, curse *c) * Generierung des Normalreports aufgerufen und ersetzen * cursedisplay */ -static int -cinfo_fogtrap(void * obj, typ_t typ, curse *c, int self) -{ - unused(typ); - unused(self); - unused(obj); - - assert(typ == TYP_REGION); - - sprintf(buf, "Dichte Nebel bedecken diese Woche die Region. " - "Keine Einheit schafft es, diese Nebel zu durchdringen und " - "die Region zu verlassen. (%s)", curseid(c)); - - return 1; -} - -/* C_NOCOST */ -static int -cinfo_nocost(void * obj, typ_t typ, curse *c, int self) -{ - unused(typ); - unused(obj); - unused(self); - - assert(typ == TYP_BUILDING); - sprintf(buf, "Der Zahn der Zeit kann diesen Mauern nichts anhaben. (%s)", - curseid(c)); - return 1; -} -/* C_HOLYGROUND */ -static int -cinfo_holyground(void * obj, typ_t typ, curse *c, int self) -{ - unused(typ); - unused(obj); - unused(self); - - assert(typ == TYP_REGION); - sprintf(buf, "Untote schrecken vor dieser Region zurück. (%s)", - curseid(c)); - return 1; -} -/* C_BLESSEDHARVEST, */ -static int -cinfo_blessedharvest(void * obj, typ_t typ, curse *c, int self) -{ - unused(typ); - unused(obj); - unused(self); - assert(typ == TYP_REGION); - - sprintf(buf, "In dieser Gegend steht das Korn besonders gut im Feld. (%s)", curseid(c)); - - return 1; -} -/* C_DROUGHT, */ -static int -cinfo_drought(void * obj, typ_t typ, curse *c, int self) -{ - unused(typ); - unused(obj); - unused(self); - assert(typ == TYP_REGION); - - sprintf(buf, "In dieser Gegend herrscht eine Dürre. (%s)", curseid(c)); - - return 1; -} -/* C_BADLEARN */ -static int -cinfo_badlearn(void * obj, typ_t typ, curse *c, int self) -{ - unused(typ); - unused(self); - unused(obj); - assert(typ == TYP_REGION); - - sprintf(buf, "Alle Leute in der Region haben Schlafstörungen. (%s)", curseid(c)); - - return 1; -} -/* C_DEPRESSION */ -static int -cinfo_depression(void * obj, typ_t typ, curse *c, int self) -{ - unused(typ); - unused(obj); - unused(self); - assert(typ == TYP_REGION); - - sprintf(buf, "Die Bauern sind unzufrieden. (%s)", curseid(c)); - return 1; -} - -/* C_GENEROUS */ -static int -cinfo_generous(void * obj, typ_t typ, curse *c, int self) -{ - unused(typ); - unused(self); - unused(obj); - assert(typ == TYP_REGION); - - sprintf(buf, "Es herrscht eine fröhliche und ausgelassene Stimmung. (%s)", - curseid(c)); - - return 1; -} -/* C_ASTRALBLOCK */ -static int -cinfo_astralblock(void * obj, typ_t typ, curse *c, int self) -{ - unused(typ); - unused(self); - unused(obj); - assert(typ == TYP_REGION); - - sprintf(buf, "Etwas verhindert den Kontakt zur Realität. (%s)", curseid(c)); - - return 1; -} -/* C_PEACE */ -static int -cinfo_peacezone(void * obj, typ_t typ, curse *c, int self) -{ - unused(typ); - unused(obj); - unused(self); - assert(typ == TYP_REGION); - - sprintf(buf, "Die ganze Region ist von einer friedlichen Stimmung " - "erfasst. (%s)", curseid(c)); - - return 1; -} -/* C_REGCONF */ -static int -cinfo_regconf(void * obj, typ_t typ, curse *c, int self) -{ - unused(typ); - unused(self); - unused(obj); - assert(typ == TYP_REGION); - - sprintf(buf, "Ein Schleier der Verwirrung liegt über der Region. (%s)", - curseid(c)); - - return 1; -} -/* C_RIOT */ -static int -cinfo_riot(void * obj, typ_t typ, curse *c, int self) -{ - unused(typ); - unused(self); - unused(obj); - - assert(typ == TYP_REGION); - sprintf(buf, "Die Region befindet sich in Aufruhr.(%s)", curseid(c)); - - return 1; -} - -/* Building */ - -/* C_MAGICSTONE*/ -static int -cinfo_magicstone(void * obj, typ_t typ, curse *c, int self) -{ - building * b; - unused(typ); - - assert(typ == TYP_BUILDING); - b = (building*)obj; - - if (self){ - sprintf(buf, "Die Mauern von %s wirken, als wären sie " - "aus der Erde gewachsen. (%s)", b->name, curseid(c)); - return 1; - } - - return 0; -} /* C_MAGICSTONE*/ static int cinfo_magicrunes(void * obj, typ_t typ, curse *c, int self) @@ -969,7 +786,7 @@ static curse_type cursedaten[MAXCURSE] = "gbdream", CURSETYP_NORM, 0, (NO_MERGE), "", - /* cinfo_dreamcurse*/ + (cdesc_fun)cinfo_dreamcurse }, { /* Verändert die max Aura und Regeneration um effect% */ diff --git a/src/common/spells/buildingcurse.c b/src/common/spells/buildingcurse.c index 1b00bfe02..a229193f7 100644 --- a/src/common/spells/buildingcurse.c +++ b/src/common/spells/buildingcurse.c @@ -50,4 +50,3 @@ cinfo_building(const locale * lang, void * obj, typ_t typ, curse *c, int self) /* CurseInfo mit Spezialabfragen */ - diff --git a/src/common/spells/regioncurse.c b/src/common/spells/regioncurse.c index b465d93d1..5ff5f44fb 100644 --- a/src/common/spells/regioncurse.c +++ b/src/common/spells/regioncurse.c @@ -74,6 +74,8 @@ cinfo_cursed_by_the_gods(const locale * lang,void * obj, typ_t typ, curse *c, in static int cinfo_dreamcurse(const locale * lang,void * obj, typ_t typ, curse *c, int self) { + message * msg; + unused(self); unused(typ); unused(obj); @@ -81,10 +83,8 @@ cinfo_dreamcurse(const locale * lang,void * obj, typ_t typ, curse *c, int self) if (c->effect > 0){ msg = msg_message("curseinfo::gooddream", "id", c->no); - sprintf(buf, "Die Leute haben schöne Träume. (%s)", curseid(c)); }else{ msg = msg_message("curseinfo::baddream", "id", c->no); - sprintf(buf, "Albträume plagen die Leute. (%s)", curseid(c)); } nr_render(msg, lang, buf, sizeof(buf), NULL); msg_release(msg); @@ -95,20 +95,20 @@ cinfo_dreamcurse(const locale * lang,void * obj, typ_t typ, curse *c, int self) static int cinfo_magicstreet(const locale * lang,void * obj, typ_t typ, curse *c, int self) { + message * msg; + unused(typ); unused(self); unused(obj); assert(typ == TYP_REGION); - sprintf(buf, "Die Straßen sind erstaunlich trocken und gut begehbar"); - /* Warnung vor auflösung!*/ + /* Warnung vor Auflösung */ if (c->duration <= 2){ - scat(", doch an manchen Stellen bilden sich wieder die erste Schlammlöcher"); + msg = msg_message("curseinfo::magicstreet", "id", c->no); + } else { + msg = msg_message("curseinfo::magicstreetwarn", "id", c->no); } - scat(". ("); - scat(itoa36(c->no)); - scat(")"); return 1; } diff --git a/src/common/spells/regioncurse.h b/src/common/spells/regioncurse.h index 286bae42c..5e7e2ca1a 100644 --- a/src/common/spells/regioncurse.h +++ b/src/common/spells/regioncurse.h @@ -14,10 +14,10 @@ #ifndef _RCURSE_H #define _RCURSE_H -static int cinfo_region(const locale *, void *, typ_t, curse *, int); +int cinfo_region(const locale *, void *, typ_t, curse *, int); -static int cinfo_cursed_by_the_gods(const locale *, void *, typ_t, curse *, int); -static int cinfo_dreamcurse(const locale *, void *, typ_t, curse *, int); -static int cinfo_magicstreet(const locale *, void *, typ_t, curse *, int); +int cinfo_cursed_by_the_gods(const locale *, void *, typ_t, curse *, int); +int cinfo_dreamcurse(const locale *, void *, typ_t, curse *, int); +int cinfo_magicstreet(const locale *, void *, typ_t, curse *, int); #endif /* _RCURSE_H */ diff --git a/src/common/spells/shipcurse.h b/src/common/spells/shipcurse.h new file mode 100644 index 000000000..f69fea734 --- /dev/null +++ b/src/common/spells/shipcurse.h @@ -0,0 +1,19 @@ +/* vi: set ts=2: + * + * 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. + */ + +#ifndef _SCURSE_H +#define _SCURSE_H + +int cinfo_shipnodrift(const locale *, void *, typ_t, curse *, int); + +#endif /* _SCURSE_H */ diff --git a/src/common/spells/unitcurse.c b/src/common/spells/unitcurse.c index d471af267..acd39d65d 100644 --- a/src/common/spells/unitcurse.c +++ b/src/common/spells/unitcurse.c @@ -163,14 +163,16 @@ static int cinfo_orc(const locale * lang, void * obj, typ_t typ, curse *c, int self) { unit *u; + message * msg; unused(typ); assert(typ == TYP_UNIT); u = (unit *)obj; if (self){ - sprintf(buf, "%s stürzt sich von einem amourösen Abenteuer ins " - "nächste. (%s)", u->name, curseid(c)); + msg = msg_message(mkname("curseinfo", c->type->cname), "unit id", u, c->no); + nr_render(msg, lang, buf, sizeof(buf), NULL); + msg_release(msg); return 1; } return 0; diff --git a/src/common/spells/unitcurse.h b/src/common/spells/unitcurse.h new file mode 100644 index 000000000..83987c4fc --- /dev/null +++ b/src/common/spells/unitcurse.h @@ -0,0 +1,35 @@ +/* vi: set ts=2: + * + * 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. + */ + +#ifndef _UCURSE_H +#define _UCURSE_H + +int cinfo_unit(const locale *, void *, typ_t, curse *, int); +int cinfo_unit_onlyowner(const locale *, void *, typ_t, curse *, int); + +/* altlasten */ + +int cinfo_auraboost(void *, typ_t, curse *, int); +int cinfo_slave(void *, typ_t, curse *, int); +int cinfo_calm(void *, typ_t, curse *, int); +int cinfo_speed(void *, typ_t, curse *, int); +int cinfo_orc(void *, typ_t, curse *, int); +int cinfo_kaelteschutz(void *, typ_t, curse *, int); +int cinfo_sparkle(void *, typ_t, curse *, int); +int cinfo_strength(void *, typ_t, curse *, int); +int cinfo_allskills(void *, typ_t, curse *, int); +int cinfo_skill(void *, typ_t, curse *, int); +int cinfo_itemcloak(void *, typ_t, curse *, int); +int cinfo_fumble(void *, typ_t, curse *, int); + +#endif /* _UCURSE_H */ diff --git a/src/res/de/messages.xml b/src/res/de/messages.xml index cbe6e7483..9bd551226 100644 --- a/src/res/de/messages.xml +++ b/src/res/de/messages.xml @@ -7597,5 +7597,56 @@ "Diese Region wurde von den Göttern verflucht. Das Meer ist eine ekelige Brühe, braunschwarze, stinkende Gase steigen aus den unergründlichen Tiefen hervor, und untote Seeungeheuer, Schiffe zerfressend und giftige grüne Galle geifernd, sind der Schrecken aller Seeleute, die diese Gewässer durchqueren. Niemand kann hier lange überleben. ($int36($id))" "" + + + + + "Die Leute haben schöne Träume. ($int36($id))" + "" + + + + + + "Albträume plagen die Leute. ($int36($id))" + "" + + + + + + "Die Straßen sind erstaunlich trocken und gut begehbar. ($int36($id))" + "" + + + + + + "Die Straßen sind erstaunlich trocken und gut begehbar, doch an manchen Stellen bilden sich wieder die erste Schlammlöcher. ($int36($id))" + "" + + + + + + "Ein magischer Schimmer liegt auf diesen Mauern. ($int36($id))" + "" + + + + + + "Diese Mauern wirken, als wären sie direkt aus der Erde gewachsen und nicht erbaut. ($int36($id))" + "" + + + + + + + + "$unit($unit) stürzt sich von einem amourösen Abenteuer ins nächste. ($int36($id))" + "" +