--- deliantra/server/common/arch.C 2008/04/21 23:35:24 1.75 +++ deliantra/server/common/arch.C 2008/04/30 08:29:31 1.77 @@ -515,9 +515,18 @@ LOG (llevDebug, "garbage collect arch %s", at->debug_desc ()); assert (at->arch == at); // verify that refcnt == 1 is truely valid allarch.erase (idx); - at->arch = 0; - at->more = 0; + + // break chain + for (object *op = at->head_ (); op; ) + { + object *next = op->more; + op->head = 0; + op->more = 0; + op = next; + } + at->destroy (); + at->arch = 0; } } while (--cnt); @@ -587,6 +596,12 @@ return arch_to_object (at); } +object * +archetype::get (const char *name) +{ + return get_archetype (name); +} + /* * Returns the first archetype using the given type. * Used in treasure-generation.