--- deliantra/server/common/loader.C 2006/12/30 21:07:46 1.32 +++ deliantra/server/common/loader.C 2006/12/31 17:17:22 1.33 @@ -542,6 +542,7 @@ case KW_arch: { const char *str = thawer.get_str (); + fprintf (stderr, "arch %s\n", str);//D if (op->arch) { @@ -553,7 +554,7 @@ object *tmp; - if (arch != NULL) + if (arch) tmp = arch_to_object (arch); else { @@ -565,7 +566,7 @@ // decativate the object we, as we are still going // to read the speed value. Objects should be activated // when the map, object or player is completly loaded. - tmp->deactivate (false); + tmp->deactivate (); parse_object (tmp, thawer, map_flags); @@ -608,7 +609,11 @@ op->arch = archetype::find (str); if (op->arch) - op->arch->clone.copy_to (op); + { + op->arch->clone.copy_to (op); + // copy_to activates, this should be fixed properly + op->deactivate (); + } else if (!arch_init) /* record the name of the broken object */ op->name = str; @@ -1468,6 +1473,6 @@ save_object (fp, tmp, flag); fp.put (op); - fp.put (KW_end, 0); + fp.put (KW_end); }