diff --git a/src/common/gamecode/creport.c b/src/common/gamecode/creport.c index b63f15145..9e771fcfe 100644 --- a/src/common/gamecode/creport.c +++ b/src/common/gamecode/creport.c @@ -256,8 +256,7 @@ print_curses(FILE * F, const faction * viewer, const void * obj, typ_t typ) } else { sprintf(buf, "an unknown curse lies on the region. (%s)", itoa36(c->no)); } - } - if (dh==1) { + } else { if (!header) { header = 1; fputs("EFFECTS\n", F); diff --git a/src/common/spells/buildingcurse.c b/src/common/spells/buildingcurse.c index d2a6f7564..3c5e9a546 100644 --- a/src/common/spells/buildingcurse.c +++ b/src/common/spells/buildingcurse.c @@ -36,19 +36,23 @@ static int cinfo_building(const struct locale * lang, const void * obj, typ_t typ, curse *c, int self) { - message * msg; + message * msg; - unused(typ); - assert(typ == TYP_BUILDING); + unused(typ); + assert(typ == TYP_BUILDING); - if (self != 0){ /* owner or inside */ - msg = msg_message(mkname("curseinfo", c->type->cname), "id", c->no); - } else { /* outside */ - msg = msg_message(mkname("curseinfo", "buildingunknown"), "id", c->no); - } - nr_render(msg, lang, buf, sizeof(buf), NULL); - msg_release(msg); - return 1; + if (self != 0){ /* owner or inside */ + msg = msg_message(mkname("curseinfo", c->type->cname), "id", c->no); + } else { /* outside */ + msg = msg_message(mkname("curseinfo", "buildingunknown"), "id", c->no); + } + if (msg) { + nr_render(msg, lang, buf, sizeof(buf), NULL); + msg_release(msg); + return 1; + } + log_warning(("There is no curseinfo for %s.\n", c->type->cname)); + return 0; } /* CurseInfo mit Spezialabfragen */ @@ -58,69 +62,69 @@ static int cinfo_magicrunes(const struct locale* lang, const void * obj, typ_t typ, curse *c, int self) { message * msg = NULL; - if (typ == TYP_BUILDING){ - building * b; - b = (building*)obj; - if (self != 0) { + if (typ == TYP_BUILDING){ + building * b; + b = (building*)obj; + if (self != 0) { msg = msg_message(mkname("curseinfo", "magicrunes_building"), "building id", b, c->no); - } - } else if (typ == TYP_SHIP) { - ship *sh; - sh = (ship*)obj; - if (self != 0){ + } + } else if (typ == TYP_SHIP) { + ship *sh; + sh = (ship*)obj; + if (self != 0){ msg = msg_message(mkname("curseinfo", "magicrunes_ship"), "ship id", sh, c->no); } - } + } if (msg!=NULL) { nr_render(msg, lang, buf, sizeof(buf), NULL); msg_release(msg); return 1; } - return 0; + return 0; } static struct curse_type ct_magicrunes = { "magicrunes", - CURSETYP_NORM, 0, M_SUMEFFECT, - "Dieser Zauber verstärkt die natürliche Widerstandskraft gegen eine " - "Verzauberung.", - cinfo_magicrunes + CURSETYP_NORM, 0, M_SUMEFFECT, + "Dieser Zauber verstärkt die natürliche Widerstandskraft gegen eine " + "Verzauberung.", + cinfo_magicrunes }; /* Heimstein-Zauber */ static struct curse_type ct_magicwalls = { "magicwalls", - CURSETYP_NORM, 0, NO_MERGE, - "Die Macht dieses Zaubers ist fast greifbar und tief in die Mauern " - "gebunden. Starke elementarmagische Kräfte sind zu spüren. " - "Vieleicht wurde gar ein Erdelementar in diese Mauern gebannt. " - "Ausser ebenso starkter Antimagie wird nichts je diese Mauern " - "gefährden können.", - cinfo_building + CURSETYP_NORM, 0, NO_MERGE, + "Die Macht dieses Zaubers ist fast greifbar und tief in die Mauern " + "gebunden. Starke elementarmagische Kräfte sind zu spüren. " + "Vieleicht wurde gar ein Erdelementar in diese Mauern gebannt. " + "Ausser ebenso starkter Antimagie wird nichts je diese Mauern " + "gefährden können.", + cinfo_building }; /* Feste Mauer - Präkampfzauber, wirkt nur 1 Runde */ static struct curse_type ct_strongwall = { "strongwall", - CURSETYP_NORM, 0, NO_MERGE, - "", - NULL + CURSETYP_NORM, 0, NO_MERGE, + "", + NULL }; /* Ewige Mauern-Zauber */ static struct curse_type ct_nocostbuilding = { "nocostbuilding", - CURSETYP_NORM, 0, NO_MERGE, - "Die Macht dieses Zaubers ist fast greifbar und tief in die Mauern " - "gebunden. Unbeeindruck vom Zahn der Zeit wird dieses Gebäude wohl " - "auf Ewig stehen.", - cinfo_building + CURSETYP_NORM, 0, NO_MERGE, + "Die Macht dieses Zaubers ist fast greifbar und tief in die Mauern " + "gebunden. Unbeeindruck vom Zahn der Zeit wird dieses Gebäude wohl " + "auf Ewig stehen.", + cinfo_building }; -void +void register_buildingcurse(void) { - register_function((pf_generic)cinfo_magicrunes, "curseinfo::magicrunes"); + register_function((pf_generic)cinfo_magicrunes, "curseinfo::magicrunes"); - ct_register(&ct_magicwalls); - ct_register(&ct_strongwall); - ct_register(&ct_magicrunes); - ct_register(&ct_nocostbuilding); + ct_register(&ct_magicwalls); + ct_register(&ct_strongwall); + ct_register(&ct_magicrunes); + ct_register(&ct_nocostbuilding); } diff --git a/src/common/spells/shipcurse.c b/src/common/spells/shipcurse.c index 8b2a5f637..e79353cae 100644 --- a/src/common/spells/shipcurse.c +++ b/src/common/spells/shipcurse.c @@ -35,83 +35,85 @@ int cinfo_ship(const struct locale * lang, const void * obj, typ_t typ, curse *c, int self) { - message * msg; + message * msg; - unused(typ); - unused(obj); - assert(typ == TYP_SHIP); + unused(typ); + unused(obj); + assert(typ == TYP_SHIP); - if (self != 0){ /* owner or inside */ - msg = msg_message(mkname("curseinfo", c->type->cname), "id", c->no); - } else { - msg = msg_message(mkname("curseinfo", "shipunknown"), "id", c->no); - } - nr_render(msg, lang, buf, sizeof(buf), NULL); - msg_release(msg); - return 1; + if (self != 0){ /* owner or inside */ + msg = msg_message(mkname("curseinfo", c->type->cname), "id", c->no); + } else { + msg = msg_message(mkname("curseinfo", "shipunknown"), "id", c->no); + } + if (msg) { + nr_render(msg, lang, buf, sizeof(buf), NULL); + msg_release(msg); + return 1; + } + log_warning(("There is no curseinfo for %s.\n", c->type->cname)); + return 0; } /* CurseInfo mit Spezialabfragen */ /* C_SHIP_NODRIFT */ static int -cinfo_shipnodrift(const struct locale * lang, void * obj, typ_t typ, curse *c, int self) +cinfo_shipnodrift(const struct locale * lang, const void * obj, typ_t typ, curse *c, int self) { - ship * sh; - unused(typ); + ship * sh; + unused(typ); - assert(typ == TYP_SHIP); - sh = (ship*)obj; + assert(typ == TYP_SHIP); + sh = (ship*)obj; - if (self != 0){ - sprintf(buf, "%s ist mit guten Wind gesegnet", sh->name); - if (c->duration <= 2){ - scat(", doch der Zauber beginnt sich bereits aufzulösen"); - } - scat("."); - } else { - sprintf(buf, "Ein silberner Schimmer umgibt das Schiff."); - } - scat(" ("); - scat(itoa36(c->no)); - scat(")"); - return 1; + if (self != 0){ + sprintf(buf, "%s ist mit guten Wind gesegnet", sh->name); + if (c->duration <= 2){ + scat(", doch der Zauber beginnt sich bereits aufzulösen"); + } + scat("."); + } else { + sprintf(buf, "Ein silberner Schimmer umgibt das Schiff."); + } + scat(" ("); + scat(itoa36(c->no)); + scat(")"); + return 1; } static struct curse_type ct_stormwind = { "stormwind", - CURSETYP_NORM, 0, NO_MERGE, - "", - NULL + CURSETYP_NORM, 0, NO_MERGE, + "", cinfo_ship }; static struct curse_type ct_flyingship = { "flyingship", - CURSETYP_NORM, 0, NO_MERGE, - "", - NULL + CURSETYP_NORM, 0, NO_MERGE, + "", cinfo_ship }; static struct curse_type ct_nodrift = { "nodrift", - CURSETYP_NORM, 0, ( M_DURATION | M_VIGOUR ), - "Der Zauber auf diesem Schiff ist aus den elementaren Magien der Luft " - "und des Wassers gebunden. Der dem Wasser verbundene Teil des Zaubers " - "läßt es leichter durch die Wellen gleiten und der der Luft verbundene " - "Teil scheint es vor widrigen Winden zu schützen.", + CURSETYP_NORM, 0, ( M_DURATION | M_VIGOUR ), + "Der Zauber auf diesem Schiff ist aus den elementaren Magien der Luft " + "und des Wassers gebunden. Der dem Wasser verbundene Teil des Zaubers " + "läßt es leichter durch die Wellen gleiten und der der Luft verbundene " + "Teil scheint es vor widrigen Winden zu schützen.", cinfo_shipnodrift }; static struct curse_type ct_shipdisorientation = { "shipdisorientation", - CURSETYP_NORM, 0, NO_MERGE, - "Dieses Schiff hat sich verfahren." + CURSETYP_NORM, 0, NO_MERGE, + "Dieses Schiff hat sich verfahren.", cinfo_ship }; static struct curse_type ct_shipspeedup = { "shipspeedup", - CURSETYP_NORM, 0, 0, - NULL + CURSETYP_NORM, 0, 0, + NULL, cinfo_ship }; -void +void register_shipcurse(void) { - ct_register(&ct_stormwind); - ct_register(&ct_flyingship); - ct_register(&ct_nodrift); - ct_register(&ct_shipdisorientation); - ct_register(&ct_shipspeedup); + ct_register(&ct_stormwind); + ct_register(&ct_flyingship); + ct_register(&ct_nodrift); + ct_register(&ct_shipdisorientation); + ct_register(&ct_shipspeedup); } diff --git a/src/common/spells/unitcurse.c b/src/common/spells/unitcurse.c index 5e17211dd..919e3e043 100644 --- a/src/common/spells/unitcurse.c +++ b/src/common/spells/unitcurse.c @@ -40,16 +40,37 @@ int cinfo_unit(const struct locale * lang, const void * obj, typ_t typ, struct curse *c, int self) { - struct message * msg; + struct message * msg; - unused(typ); - unused(self); - unused(obj); + unused(typ); + unused(self); + unused(obj); - assert(typ == TYP_UNIT); + assert(typ == TYP_UNIT); - msg = msg_message(mkname("curseinfo", c->type->cname), "id", c->no); - if (msg==NULL) { + msg = msg_message(mkname("curseinfo", c->type->cname), "id", c->no); + if (msg) { + nr_render(msg, lang, buf, sizeof(buf), NULL); + msg_release(msg); + return 1; + } + log_warning(("There is no curseinfo for %s.\n", c->type->cname)); + return 0; +} + +static int +cinfo_unit_onlyowner(const struct locale * lang, const void * obj, typ_t typ, struct curse *c, int self) +{ + message * msg; + struct unit *u; + + unused(typ); + + assert(typ == TYP_UNIT); + u = (struct unit *)obj; + + if (self != 0){ + msg = msg_message(mkname("curseinfo", c->type->cname), "id", c->no); nr_render(msg, lang, buf, sizeof(buf), NULL); msg_release(msg); return 1; @@ -57,98 +78,78 @@ cinfo_unit(const struct locale * lang, const void * obj, typ_t typ, struct curse return 0; } -static int -cinfo_unit_onlyowner(const struct locale * lang, const void * obj, typ_t typ, struct curse *c, int self) -{ - message * msg; - struct unit *u; - - unused(typ); - - assert(typ == TYP_UNIT); - u = (struct unit *)obj; - - if (self != 0){ - msg = msg_message(mkname("curseinfo", c->type->cname), "id", c->no); - nr_render(msg, lang, buf, sizeof(buf), NULL); - msg_release(msg); - return 1; - } - return 0; -} - /* ------------------------------------------------------------- */ -/* - * C_AURA +/* + * C_AURA */ /* erhöht/senkt regeneration und maxaura um effect% */ static int cinfo_auraboost(const struct locale * lang, const void * obj, typ_t typ, struct curse *c, int self) { - struct unit *u; - unused(typ); - assert(typ == TYP_UNIT); - u = (struct unit *)obj; + struct unit *u; + unused(typ); + assert(typ == TYP_UNIT); + u = (struct unit *)obj; - if (self != 0){ - if (curse_geteffect(c) > 100){ - sprintf(buf, "%s fühlt sich von starken magischen Energien " - "durchströmt. (%s)", u->name, curseid(c)); - }else{ - sprintf(buf, "%s hat Schwierigkeiten seine magischen Energien " - "zu sammeln. (%s)", u->name, curseid(c)); - } - return 1; - } - return 0; + if (self != 0){ + if (curse_geteffect(c) > 100){ + sprintf(buf, "%s fühlt sich von starken magischen Energien " + "durchströmt. (%s)", u->name, curseid(c)); + }else{ + sprintf(buf, "%s hat Schwierigkeiten seine magischen Energien " + "zu sammeln. (%s)", u->name, curseid(c)); + } + return 1; + } + return 0; } -static struct curse_type ct_auraboost = { - "auraboost", - CURSETYP_NORM, CURSE_SPREADMODULO, (NO_MERGE), - "Dieser Zauber greift irgendwie in die Verbindung zwischen Magier " - "und Magischer Essenz ein. Mit positiver Ausrichtung kann er wohl " - "wie ein Fokus für Aura wirken, jedoch genauso für das Gegenteil " - "benutzt werden.", - cinfo_auraboost +static struct curse_type ct_auraboost = { + "auraboost", + CURSETYP_NORM, CURSE_SPREADMODULO, (NO_MERGE), + "Dieser Zauber greift irgendwie in die Verbindung zwischen Magier " + "und Magischer Essenz ein. Mit positiver Ausrichtung kann er wohl " + "wie ein Fokus für Aura wirken, jedoch genauso für das Gegenteil " + "benutzt werden.", + cinfo_auraboost }; /* Magic Boost - Gabe des Chaos */ -static struct curse_type ct_magicboost = { - "magicboost", - CURSETYP_UNIT, CURSE_SPREADMODULO, M_MEN, - "", - NULL +static struct curse_type ct_magicboost = { + "magicboost", + CURSETYP_UNIT, CURSE_SPREADMODULO, M_MEN, + "", + NULL }; /* ------------------------------------------------------------- */ -/* - * C_SLAVE +/* + * C_SLAVE */ static int cinfo_slave(const struct locale * lang, const void * obj, typ_t typ, struct curse *c, int self) { - unit *u; - unused(typ); + unit *u; + unused(typ); - assert(typ == TYP_UNIT); - u = (unit *)obj; + assert(typ == TYP_UNIT); + u = (unit *)obj; - if (self != 0){ - sprintf(buf, "%s wird noch %d Woche%s unter unserem Bann stehen. (%s)", - u->name, c->duration, (c->duration == 1)? "":"n", curseid(c)); - return 1; - } - return 0; + if (self != 0){ + sprintf(buf, "%s wird noch %d Woche%s unter unserem Bann stehen. (%s)", + u->name, c->duration, (c->duration == 1)? "":"n", curseid(c)); + return 1; + } + return 0; } static struct curse_type ct_slavery = { "slavery", - CURSETYP_NORM, 0, NO_MERGE, - "Dieser mächtige Bann scheint die Einheit ihres freien Willens " - "zu berauben. Solange der Zauber wirkt, wird sie nur den Befehlen " - "ihres neuen Herrn gehorchen.", - cinfo_slave + CURSETYP_NORM, 0, NO_MERGE, + "Dieser mächtige Bann scheint die Einheit ihres freien Willens " + "zu berauben. Solange der Zauber wirkt, wird sie nur den Befehlen " + "ihres neuen Herrn gehorchen.", + cinfo_slave }; /* ------------------------------------------------------------- */ -/* +/* * C_CALM */ static int @@ -172,48 +173,48 @@ cinfo_calm(const struct locale * lang, const void * obj, typ_t typ, struct curse scat(". ("); scat(itoa36(c->no)); scat(")"); - + return 1; } return 0; } static struct curse_type ct_calmmonster = { "calmmonster", - CURSETYP_NORM, CURSE_SPREADNEVER, NO_MERGE, - "Dieser Beeinflussungszauber scheint die Einheit einem ganz " - "bestimmten Volk wohlgesonnen zu machen.", - cinfo_calm + CURSETYP_NORM, CURSE_SPREADNEVER, NO_MERGE, + "Dieser Beeinflussungszauber scheint die Einheit einem ganz " + "bestimmten Volk wohlgesonnen zu machen.", + cinfo_calm }; /* ------------------------------------------------------------- */ -/* +/* * C_SPEED */ static int cinfo_speed(const struct locale * lang, const void * obj, typ_t typ, struct curse *c, int self) { - unit *u; - curse_unit * cu; - unused(typ); + unit *u; + curse_unit * cu; + unused(typ); - assert(typ == TYP_UNIT); - u = (unit *)obj; - cu = (curse_unit *)c->data.v; + assert(typ == TYP_UNIT); + u = (unit *)obj; + cu = (curse_unit *)c->data.v; - if (self != 0){ - sprintf(buf, "%d Person%s von %s %s noch %d Woche%s beschleunigt. (%s)", - cu->cursedmen, (cu->cursedmen == 1)? "":"en", u->name, - (cu->cursedmen == 1)? "ist":"sind", c->duration, - (c->duration == 1)? "":"n", - curseid(c)); - return 1; - } - return 0; + if (self != 0){ + sprintf(buf, "%d Person%s von %s %s noch %d Woche%s beschleunigt. (%s)", + cu->cursedmen, (cu->cursedmen == 1)? "":"en", u->name, + (cu->cursedmen == 1)? "ist":"sind", c->duration, + (c->duration == 1)? "":"n", + curseid(c)); + return 1; + } + return 0; } static struct curse_type ct_speed = { - "speed", - CURSETYP_UNIT, CURSE_SPREADNEVER, M_MEN, - "Diese Einheit bewegt sich doppelt so schnell.", - cinfo_speed + "speed", + CURSETYP_UNIT, CURSE_SPREADNEVER, M_MEN, + "Diese Einheit bewegt sich doppelt so schnell.", + cinfo_speed }; /* ------------------------------------------------------------- */ @@ -223,58 +224,58 @@ static struct curse_type ct_speed = { static int cinfo_orc(const struct locale * lang, const void * obj, typ_t typ, struct curse *c, int self) { - unit *u; - message * msg; - unused(typ); + unit *u; + message * msg; + unused(typ); - assert(typ == TYP_UNIT); - u = (unit *)obj; + assert(typ == TYP_UNIT); + u = (unit *)obj; - if (self != 0){ - 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; + if (self != 0){ + 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; } static struct curse_type ct_orcish = { - "orcish", - CURSETYP_UNIT, CURSE_SPREADMODULO, M_MEN, - "Dieser Zauber scheint die Einheit zu 'orkisieren'. Wie bei Orks " - "ist eine deutliche Neigung zur Fortpflanzung zu beobachten.", - cinfo_orc + "orcish", + CURSETYP_UNIT, CURSE_SPREADMODULO, M_MEN, + "Dieser Zauber scheint die Einheit zu 'orkisieren'. Wie bei Orks " + "ist eine deutliche Neigung zur Fortpflanzung zu beobachten.", + cinfo_orc }; /* ------------------------------------------------------------- */ -/* +/* * C_KAELTESCHUTZ */ static int cinfo_kaelteschutz(const struct locale * lang, const void * obj, typ_t typ, struct curse *c, int self) { - unit *u; - curse_unit * cu; - unused(typ); + unit *u; + curse_unit * cu; + unused(typ); - assert(typ == TYP_UNIT); - u = (unit *)obj; - cu = (curse_unit *)c->data.v; + assert(typ == TYP_UNIT); + u = (unit *)obj; + cu = (curse_unit *)c->data.v; - if (self != 0){ - sprintf(buf, "%d Person%s von %s %s sich vor Kälte geschützt. (%s)", - cu->cursedmen, (cu->cursedmen == 1)? "":"en", u->name, - (cu->cursedmen == 1)? "fühlt":"fühlen", - curseid(c)); - return 1; - } - return 0; + if (self != 0){ + sprintf(buf, "%d Person%s von %s %s sich vor Kälte geschützt. (%s)", + cu->cursedmen, (cu->cursedmen == 1)? "":"en", u->name, + (cu->cursedmen == 1)? "fühlt":"fühlen", + curseid(c)); + return 1; + } + return 0; } static struct curse_type ct_insectfur = { - "insectfur", - CURSETYP_UNIT, CURSE_SPREADMODULO, ( M_MEN | M_DURATION ), - "Dieser Zauber schützt vor den Auswirkungen der Kälte.", - cinfo_kaelteschutz + "insectfur", + CURSETYP_UNIT, CURSE_SPREADMODULO, ( M_MEN | M_DURATION ), + "Dieser Zauber schützt vor den Auswirkungen der Kälte.", + cinfo_kaelteschutz }; /* ------------------------------------------------------------- */ @@ -284,60 +285,60 @@ static struct curse_type ct_insectfur = { static int cinfo_sparkle(const struct locale * lang, const void * obj, typ_t typ, struct 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.", - NULL, /* end traum */ - "%s wird von einem glitzernden Funkenregen umgeben.", - "Ein schimmernder Lichterkranz umgibt %s.", - 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.", - 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.", - 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.", - NULL, /* end draig */ - }; - int m, begin=0, end=0; - unit *u; - unused(typ); + const char * effects[] = { + NULL, /* end grau*/ + "%s ist im Traum eine Fee erschienen.", + "%s wird von bösen Alpträumen geplagt.", + NULL, /* end traum */ + "%s wird von einem glitzernden Funkenregen umgeben.", + "Ein schimmernder Lichterkranz umgibt %s.", + 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.", + 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.", + 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.", + NULL, /* end draig */ + }; + int m, begin=0, end=0; + unit *u; + unused(typ); - assert(typ == TYP_UNIT); - u = (unit *)obj; + assert(typ == TYP_UNIT); + u = (unit *)obj; - if(!c->magician || !c->magician->faction) return 0; + if(!c->magician || !c->magician->faction) return 0; - for(m=0;m!=c->magician->faction->magiegebiet;++m) { - while (effects[end]!=NULL) ++end; - begin = end+1; - end = begin; - } + for(m=0;m!=c->magician->faction->magiegebiet;++m) { + while (effects[end]!=NULL) ++end; + begin = end+1; + end = begin; + } - while (effects[end]!=NULL) ++end; - if (end==begin) return 0; - else sprintf(buf, effects[begin + curse_geteffect(c) % (end-begin)], u->name); - scat(" ("); - scat(itoa36(c->no)); - scat(")"); + while (effects[end]!=NULL) ++end; + if (end==begin) return 0; + else sprintf(buf, effects[begin + curse_geteffect(c) % (end-begin)], u->name); + scat(" ("); + scat(itoa36(c->no)); + scat(")"); - return 1; + return 1; } static struct curse_type ct_sparkle = { "sparkle", - CURSETYP_UNIT, CURSE_SPREADMODULO, ( M_MEN | M_DURATION ), - "Dieser Zauber ist einer der ersten, den junge Magier in der Schule lernen.", - cinfo_sparkle + CURSETYP_UNIT, CURSE_SPREADMODULO, ( M_MEN | M_DURATION ), + "Dieser Zauber ist einer der ersten, den junge Magier in der Schule lernen.", + cinfo_sparkle }; /* ------------------------------------------------------------- */ @@ -347,24 +348,24 @@ static struct curse_type ct_sparkle = { "sparkle", static int cinfo_strength(const struct locale * lang, const void * obj, typ_t typ, struct curse *c, int self) { - unused(c); - unused(typ); + unused(c); + unused(typ); - assert(typ == TYP_UNIT); - unused(obj); + assert(typ == TYP_UNIT); + unused(obj); - if (self != 0){ - sprintf(buf, "Die Leute strotzen nur so vor Kraft. (%s)", - curseid(c)); - return 1; - } - return 0; + if (self != 0){ + sprintf(buf, "Die Leute strotzen nur so vor Kraft. (%s)", + curseid(c)); + return 1; + } + return 0; } static struct curse_type ct_strength = { "strength", - CURSETYP_UNIT, CURSE_SPREADMODULO, M_MEN, - "Dieser Zauber vermehrt die Stärke der verzauberten Personen um ein " - "vielfaches.", - cinfo_strength + CURSETYP_UNIT, CURSE_SPREADMODULO, M_MEN, + "Dieser Zauber vermehrt die Stärke der verzauberten Personen um ein " + "vielfaches.", + cinfo_strength }; /* ------------------------------------------------------------- */ @@ -374,23 +375,23 @@ static struct curse_type ct_strength = { "strength", static int cinfo_allskills(const struct locale * lang, const void * obj, typ_t typ, struct curse *c, int self) { - unused(obj); - unused(typ); - unused(c); + unused(obj); + unused(typ); + unused(c); - assert(typ == TYP_UNIT); + assert(typ == TYP_UNIT); - if (self != 0){ - sprintf(buf, "Wird von einem Alp geritten. (%s)", curseid(c)); - return 1; - } - return 0; + if (self != 0){ + sprintf(buf, "Wird von einem Alp geritten. (%s)", curseid(c)); + return 1; + } + return 0; } -static struct curse_type ct_worse = { - "worse", - CURSETYP_UNIT, CURSE_SPREADMODULO, M_MEN, - "", - cinfo_allskills +static struct curse_type ct_worse = { + "worse", + CURSETYP_UNIT, CURSE_SPREADMODULO, M_MEN, + "", + cinfo_allskills }; /* ------------------------------------------------------------- */ @@ -401,61 +402,61 @@ static struct curse_type ct_worse = { static int cinfo_itemcloak(const struct locale * lang, const void * obj, typ_t typ, struct curse *c, int self) { - unit *u; - unused(typ); + unit *u; + unused(typ); - assert(typ == TYP_UNIT); - u = (unit *)obj; + assert(typ == TYP_UNIT); + u = (unit *)obj; - if (self != 0) { - sprintf(buf, "Die Ausrüstung von %s scheint unsichtbar. (%s)", - u->name, curseid(c)); - return 1; - } - return 0; + if (self != 0) { + sprintf(buf, "Die Ausrüstung von %s scheint unsichtbar. (%s)", + u->name, curseid(c)); + return 1; + } + return 0; } static struct curse_type ct_itemcloak = { - "itemcloak", - CURSETYP_UNIT, CURSE_SPREADNEVER, M_DURATION, - "Dieser Zauber macht die Ausrüstung unsichtbar.", - cinfo_itemcloak + "itemcloak", + CURSETYP_UNIT, CURSE_SPREADNEVER, M_DURATION, + "Dieser Zauber macht die Ausrüstung unsichtbar.", + cinfo_itemcloak }; /* ------------------------------------------------------------- */ static int cinfo_fumble(const struct locale * lang, const void * obj, typ_t typ, struct curse *c, int self) { - unit * u = (unit*)obj; - unused(typ); + unit * u = (unit*)obj; + unused(typ); - assert(typ == TYP_UNIT); + assert(typ == TYP_UNIT); - if (self != 0){ - sprintf(buf, "%s kann sich kaum konzentrieren. (%s)", - u->name, curseid(c)); - return 1; - } - return 0; + if (self != 0){ + sprintf(buf, "%s kann sich kaum konzentrieren. (%s)", + u->name, curseid(c)); + return 1; + } + return 0; } static struct curse_type ct_fumble = { - "fumble", - CURSETYP_NORM, CURSE_SPREADNEVER, NO_MERGE, - "Eine Wolke negativer Energie umgibt die Einheit.", - cinfo_fumble + "fumble", + CURSETYP_NORM, CURSE_SPREADNEVER, NO_MERGE, + "Eine Wolke negativer Energie umgibt die Einheit.", + cinfo_fumble }; /* ------------------------------------------------------------- */ static struct curse_type ct_oldrace = { "oldrace", - CURSETYP_NORM, CURSE_SPREADALWAYS, NO_MERGE, - "", - NULL + CURSETYP_NORM, CURSE_SPREADALWAYS, NO_MERGE, + "", + NULL }; static struct curse_type ct_magicresistance = { "magicresistance", - CURSETYP_UNIT, CURSE_SPREADMODULO, M_MEN, - "Dieser Zauber verstärkt die natürliche Widerstandskraft gegen eine " - "Verzauberung.", - NULL + CURSETYP_UNIT, CURSE_SPREADMODULO, M_MEN, + "Dieser Zauber verstärkt die natürliche Widerstandskraft gegen eine " + "Verzauberung.", + NULL }; @@ -467,80 +468,80 @@ static struct curse_type ct_magicresistance = { "magicresistance", static int read_skill(FILE * F, curse * c) { - int skill; - if (global.data_versiondata.i = skill; - return 0; + int skill; + if (global.data_versiondata.i = skill; + return 0; } static int write_skill(FILE * F, const curse * c) { - fprintf(F, "%d ", c->data.i); - return 0; + fprintf(F, "%d ", c->data.i); + return 0; } static int cinfo_skill(const struct locale * lang, const void * obj, typ_t typ, struct curse *c, int self) { - unit *u = (unit *)obj; - int sk = c->data.i; + unit *u = (unit *)obj; + int sk = c->data.i; - unused(typ); + unused(typ); - if (self != 0){ - sprintf(buf, "%s ist in %s ungewöhnlich ungeschickt. (%s)", u->name, - skillname((skill_t)sk, u->faction->locale), curseid(c)); - return 1; - } - return 0; + if (self != 0){ + sprintf(buf, "%s ist in %s ungewöhnlich ungeschickt. (%s)", u->name, + skillname((skill_t)sk, u->faction->locale), curseid(c)); + return 1; + } + return 0; } static struct curse_type ct_skillmod = { - "skillmod", - CURSETYP_NORM, CURSE_SPREADMODULO, M_MEN, - "", - cinfo_skill, - NULL, - read_skill, write_skill + "skillmod", + CURSETYP_NORM, CURSE_SPREADMODULO, M_MEN, + "", + cinfo_skill, + NULL, + read_skill, write_skill }; /* ------------------------------------------------------------- */ void register_unitcurse(void) { - register_function((pf_generic)cinfo_unit_onlyowner, "curseinfo::unit_onlyowner"); - register_function((pf_generic)cinfo_auraboost, "curseinfo::auraboost"); - register_function((pf_generic)cinfo_slave, "curseinfo::slave"); - register_function((pf_generic)cinfo_calm, "curseinfo::calm"); - register_function((pf_generic)cinfo_speed, "curseinfo::speed"); - register_function((pf_generic)cinfo_orc, "curseinfo::orc"); - register_function((pf_generic)cinfo_kaelteschutz, "curseinfo::kaelteschutz"); - register_function((pf_generic)cinfo_sparkle, "curseinfo::sparkle"); - register_function((pf_generic)cinfo_strength, "curseinfo::strength"); - register_function((pf_generic)cinfo_allskills, "curseinfo::allskills"); - register_function((pf_generic)cinfo_skill, "curseinfo::skill"); - register_function((pf_generic)cinfo_itemcloak, "curseinfo::itemcloak"); - register_function((pf_generic)cinfo_fumble, "curseinfo::fumble"); + register_function((pf_generic)cinfo_unit_onlyowner, "curseinfo::unit_onlyowner"); + register_function((pf_generic)cinfo_auraboost, "curseinfo::auraboost"); + register_function((pf_generic)cinfo_slave, "curseinfo::slave"); + register_function((pf_generic)cinfo_calm, "curseinfo::calm"); + register_function((pf_generic)cinfo_speed, "curseinfo::speed"); + register_function((pf_generic)cinfo_orc, "curseinfo::orc"); + register_function((pf_generic)cinfo_kaelteschutz, "curseinfo::kaelteschutz"); + register_function((pf_generic)cinfo_sparkle, "curseinfo::sparkle"); + register_function((pf_generic)cinfo_strength, "curseinfo::strength"); + register_function((pf_generic)cinfo_allskills, "curseinfo::allskills"); + register_function((pf_generic)cinfo_skill, "curseinfo::skill"); + register_function((pf_generic)cinfo_itemcloak, "curseinfo::itemcloak"); + register_function((pf_generic)cinfo_fumble, "curseinfo::fumble"); - ct_register(&ct_auraboost); - ct_register(&ct_magicboost); - ct_register(&ct_slavery); - ct_register(&ct_calmmonster); - ct_register(&ct_speed); - ct_register(&ct_orcish); - ct_register(&ct_insectfur); - ct_register(&ct_sparkle); - ct_register(&ct_strength); - ct_register(&ct_worse); - ct_register(&ct_skillmod); - ct_register(&ct_itemcloak); - ct_register(&ct_fumble); - ct_register(&ct_oldrace); - ct_register(&ct_magicresistance); + ct_register(&ct_auraboost); + ct_register(&ct_magicboost); + ct_register(&ct_slavery); + ct_register(&ct_calmmonster); + ct_register(&ct_speed); + ct_register(&ct_orcish); + ct_register(&ct_insectfur); + ct_register(&ct_sparkle); + ct_register(&ct_strength); + ct_register(&ct_worse); + ct_register(&ct_skillmod); + ct_register(&ct_itemcloak); + ct_register(&ct_fumble); + ct_register(&ct_oldrace); + ct_register(&ct_magicresistance); }