diff --git a/src/kernel/xmlreader.c b/src/kernel/xmlreader.c index 887d04337..6ead426d1 100644 --- a/src/kernel/xmlreader.c +++ b/src/kernel/xmlreader.c @@ -1271,12 +1271,16 @@ add_skills(equipment * eq, xmlNodeSetPtr nsetSkills) propValue = xmlGetProp(node, BAD_CAST "name"); assert(propValue!=NULL); sk = sk_find((const char*)propValue); - assert(sk!=NOSKILL); - xmlFree(propValue); - propValue = xmlGetProp(node, BAD_CAST "level"); - if (propValue!=NULL) { - equipment_setskill(eq, sk, (const char*)propValue); + if (sk==NOSKILL) { + log_error(("unknown skill '%s' in equipment-set %s\n", (const char*)propValue, eq->name)); xmlFree(propValue); + } else { + xmlFree(propValue); + propValue = xmlGetProp(node, BAD_CAST "level"); + if (propValue!=NULL) { + equipment_setskill(eq, sk, (const char*)propValue); + xmlFree(propValue); + } } } }