--- deliantra/server/common/readable.C 2007/05/28 21:21:40 1.25 +++ deliantra/server/common/readable.C 2007/06/04 13:04:00 1.27 @@ -750,14 +750,13 @@ did_init_mon_info = 1; - - for (at = first_archetype; at != NULL; at = at->next) + for_all_archetypes (at) { - if (QUERY_FLAG (&at->clone, FLAG_MONSTER) && (!QUERY_FLAG (&at->clone, FLAG_CHANGING) || QUERY_FLAG (&at->clone, FLAG_UNAGGRESSIVE))) + if (QUERY_FLAG (at, FLAG_MONSTER) && (!QUERY_FLAG (at, FLAG_CHANGING) || QUERY_FLAG (at, FLAG_UNAGGRESSIVE))) { objectlink *mon = new objectlink; - mon->ob = &at->clone; + mon->ob = at; mon->next = first_mon_info; first_mon_info = mon; nrofmon++; @@ -971,7 +970,7 @@ t->authour = book->title; t->size = strlen (book->msg); t->msg_index = strtoint (book->msg); - t->archname = book->arch->name; + t->archname = book->arch->archname; t->level = book->level; t->next = tl->first_book; @@ -1444,16 +1443,16 @@ else sprintf (retbuf, "%sbelonging to the path of %s:\n", retbuf, spellpathnames[path]); - for (at = first_archetype; at != NULL; at = at->next) + for_all_archetypes (at) { /* Determine if this is an appropriate spell. Must * be of matching path, must be of appropriate type (prayer * or not), and must be within the valid level range. */ - if (at->clone.type == SPELL && at->clone.path_attuned & pnum && - ((at->clone.stats.grace && prayers) || (at->clone.stats.sp && !prayers)) && (at->clone.level < (level * 8))) + if (at->type == SPELL && at->path_attuned & pnum && + ((at->stats.grace && prayers) || (at->stats.sp && !prayers)) && (at->level < (level * 8))) { - assign (tmpbuf, at->clone.name); + assign (tmpbuf, at->object::name); if (book_overflow (retbuf, tmpbuf, booksize)) break; @@ -1537,7 +1536,7 @@ sprintf (retbuf, "Herein is described a project using %s: \n", formula->skill ? &formula->skill : "an unknown skill"); if ((at = archetype::find (op_name)) != (archetype *) NULL) - op_name = at->clone.name; + op_name = at->object::name; else LOG (llevError, "formula_msg() can't find arch %s for formula.\n", op_name); @@ -1557,12 +1556,12 @@ { sprintf (retbuf, "%sThe %s", retbuf, op_name); sprintf (title, "%s: %s", formula_book_name[RANDOM () % (sizeof (formula_book_name) / sizeof (char *))], op_name); - if (at->clone.title) + if (at->title) { strcat (retbuf, " "); - strcat (retbuf, at->clone.title); + strcat (retbuf, at->title); strcat (title, " "); - strcat (title, at->clone.title); + strcat (title, at->title); } } /* Lets name the book something meaningful ! */ @@ -1578,7 +1577,7 @@ at = archetype::find (formula->cauldron); sprintf (retbuf + strlen (retbuf), - " may be made at %s using the following ingredients:\n", at ? query_name (&at->clone) : "an unknown place"); + " may be made at %s using the following ingredients:\n", at ? query_name (at) : "an unknown place"); for (next = formula->ingred; next != NULL; next = next->next) {