--- deliantra/server/common/arch.C 2007/04/17 18:59:05 1.54 +++ deliantra/server/common/arch.C 2007/04/17 19:12:32 1.55 @@ -311,8 +311,8 @@ overwrite (archetype *at, object *op) { at->clone = *op; - at->clone.arch = at; + at->clone.inv = op->inv; op->inv = 0; op->destroy (); @@ -337,6 +337,17 @@ f.get (op->name); f.next (); + if (f.kw == KW_inherit) + { + if (archetype *at = find (f.get_str ())) + *op = at->clone; + else + LOG (llevError, "archetype '%s' tries to inherit from non-existent archetype '%s'.\n", + &at->name, f.get_str ()); + + f.next (); + } + if (!op->parse_kv (f)) goto fail;