From 8ab0c0cb13aa51195ebde88ad9f5d80449b8f36c Mon Sep 17 00:00:00 2001 From: Katja Zedel Date: Sat, 11 May 2002 17:08:54 +0000 Subject: [PATCH] fix buildingspells teil 1 --- src/common/gamecode/report.c | 3 +++ src/common/kernel/curse.c | 31 ----------------------------- src/common/spells/buildingcurse.c | 33 +++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 31 deletions(-) diff --git a/src/common/gamecode/report.c b/src/common/gamecode/report.c index 217cee20a..a42c8fc1d 100644 --- a/src/common/gamecode/report.c +++ b/src/common/gamecode/report.c @@ -731,6 +731,9 @@ print_curses(FILE *F, const faction *viewer, const void * obj, typ_t typ, int in if (fval(a->type, ATF_CURSE)) { curse *c = (curse *)a->data.v; if (c->type->curseinfo) + if (c->type->cansee){ + self = c->type->cansee(viewer, obj, typ, c, self); + } dh = c->type->curseinfo(viewer->locale, obj, typ, c, self); if (dh == 1) { rnl(F); diff --git a/src/common/kernel/curse.c b/src/common/kernel/curse.c index 99ed45cd5..cc63e406d 100644 --- a/src/common/kernel/curse.c +++ b/src/common/kernel/curse.c @@ -687,32 +687,6 @@ is_cursed_with(attrib *ap, curse *c) * int (*write)(FILE * F, const curse * c); * } curse_type; */ -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." -}; -static struct curse_type ct_strongwall = { "strongwall", - CURSETYP_NORM, 0, NO_MERGE, - "", - NULL -}; -static struct curse_type ct_magicrunes = { "magicrunes", - CURSETYP_NORM, 0, M_SUMEFFECT, - "Dieses Zauber verstärkt die natürliche Widerstandskraft gegen eine " - "Verzauberung." -}; -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_region -}; - void * resolve_curse(void * id) @@ -727,11 +701,6 @@ register_curses(void) register_regioncurse(); register_shipcurse(); register_buildingcurse(); - - ct_register(&ct_magicwalls); - ct_register(&ct_strongwall); - ct_register(&ct_magicrunes); - ct_register(&ct_nocostbuilding); } diff --git a/src/common/spells/buildingcurse.c b/src/common/spells/buildingcurse.c index 81468e74a..9adfbf46f 100644 --- a/src/common/spells/buildingcurse.c +++ b/src/common/spells/buildingcurse.c @@ -78,10 +78,43 @@ cinfo_magicrunes(void * obj, typ_t typ, curse *c, int self) return 0; } +static struct curse_type ct_magicrunes = { "magicrunes", + CURSETYP_NORM, 0, M_SUMEFFECT, + "Dieses Zauber verstärkt die natürliche Widerstandskraft gegen eine " + "Verzauberung.", + cinfo_magicrunes +}; + +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 +}; +static struct curse_type ct_strongwall = { "strongwall", + CURSETYP_NORM, 0, NO_MERGE, + "", + cinfo_building +}; +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 +}; void register_buildingcurse(void) { register_function((pf_generic)cinfo_magicrunes, "curseinfo::magicrunes"); + + ct_register(&ct_magicwalls); + ct_register(&ct_strongwall); + ct_register(&ct_magicrunes); + ct_register(&ct_nocostbuilding); }