diff --git a/src/common/kernel/spell.c b/src/common/kernel/spell.c index de6788663..e5bb89c39 100644 --- a/src/common/kernel/spell.c +++ b/src/common/kernel/spell.c @@ -7694,6 +7694,7 @@ register_spell(spell * sp) spell_list * slist = malloc(sizeof(spell_list)); slist->next = spells; slist->data = sp; + spells = slist; } /* ------------------------------------------------------------- */ @@ -7784,6 +7785,8 @@ find_spellbyid(spellid_t id) { spell_list * slist; + assert(id>=0); + if (id==SPL_NOSPELL) return NULL; for (slist=spells;slist!=NULL;slist=slist->next) { spell* sp = slist->data; if (sp->id == id) return sp; diff --git a/src/eressea/main.c b/src/eressea/main.c index 08c54d5ac..cc6f6f116 100644 --- a/src/eressea/main.c +++ b/src/eressea/main.c @@ -60,6 +60,7 @@ /* kernel includes */ #include +#include #include #include #include @@ -174,11 +175,11 @@ game_init(void) #endif register_xmlreader(); + init_spells(); init_data(xmlfile); init_locales(); init_attributes(); - init_spells(); init_races(); init_items(); init_races(); diff --git a/src/eressea/server.cpp b/src/eressea/server.cpp index f097b197d..e1102bea2 100644 --- a/src/eressea/server.cpp +++ b/src/eressea/server.cpp @@ -177,13 +177,13 @@ game_init(void) #endif register_xmlreader(); + init_spells(); init_data(xmlfile); init_locales(); /* init_resources(); must be done inside the xml-read, because requirements use items */ init_attributes(); - init_spells(); init_races(); init_items(); init_economy(); diff --git a/src/mapper/mapper.c b/src/mapper/mapper.c index ead2f14b5..f495547d4 100644 --- a/src/mapper/mapper.c +++ b/src/mapper/mapper.c @@ -47,6 +47,7 @@ /* kernel includes */ #include +#include #include #include #include @@ -1720,11 +1721,11 @@ main(int argc, char *argv[]) /* register_dungeon(); */ register_xmlreader(); + init_spells(); init_data(xmlfile); init_locales(); init_attributes(); - init_spells(); init_resources(); #if NEW_RESOURCEGROWTH diff --git a/src/res/eressea.xml b/src/res/eressea.xml index 5fc1f02c0..cd12293ff 100644 --- a/src/res/eressea.xml +++ b/src/res/eressea.xml @@ -22,6 +22,7 @@ +