diff --git a/src/common/gamecode/creport.c b/src/common/gamecode/creport.c
index ad2242080..83a46b5df 100644
--- a/src/common/gamecode/creport.c
+++ b/src/common/gamecode/creport.c
@@ -942,10 +942,9 @@ cr_find_address(FILE * F, const faction * uf, const faction_list * addresses)
/* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
static void
-cr_reportspell(FILE * F, spellid_t id, const struct locale * lang)
+cr_reportspell(FILE * F, spell *sp, const struct locale * lang)
{
int k;
- spell *sp = find_spellbyid(id);
const char * name = add_translation(mkname("spell", sp->sname), spell_name(sp, lang));
fprintf(F, "ZAUBER %d\n", hashstring(spell_name(sp, default_locale)));
@@ -1180,7 +1179,8 @@ report_computer(const char * filename, report_context * ctx)
cr_find_address(F, f, ctx->addresses);
a = a_find(f->attribs, &at_reportspell);
while (a) {
- cr_reportspell(F, (spellid_t)a->data.i, f->locale);
+ spell *sp = find_spellbyid((spellid_t)a->data.i);
+ cr_reportspell(F, sp, f->locale);
a = a->nexttype;
}
for (a=a_find(f->attribs, &at_showitem);a;a=a->nexttype) {
diff --git a/src/common/kernel/xmlreader.c b/src/common/kernel/xmlreader.c
index b0c908ace..2502e2cc0 100644
--- a/src/common/kernel/xmlreader.c
+++ b/src/common/kernel/xmlreader.c
@@ -71,13 +71,7 @@ xml_spell(xmlNode * node, const char * name)
const spell * sp = NULL;
xmlChar * property = xmlGetProp(node, BAD_CAST name);
if (property!=NULL) {
- int i = atoi((const char *)property);
- if (i>0) {
- sp = find_spellbyid((spellid_t)i);
- }
- if (sp==NULL) {
- sp = find_spell(M_NONE, (const char *)property);
- }
+ sp = find_spell(M_NONE, (const char *)property);
assert(sp);
xmlFree(property);
}
diff --git a/src/res/vinyambar/wdw-races.xml b/src/res/vinyambar/wdw-races.xml
index d903e2cb2..7934f1a3e 100644
--- a/src/res/vinyambar/wdw-races.xml
+++ b/src/res/vinyambar/wdw-races.xml
@@ -146,9 +146,9 @@
-
-
-
+
+
+
@@ -159,9 +159,9 @@
-
-
-
+
+
+