--- deliantra/server/common/loader.C 2007/04/17 18:40:31 1.70 +++ deliantra/server/common/loader.C 2007/04/21 12:28:31 1.72 @@ -420,6 +420,7 @@ { "fly_high", MOVE_FLY_HIGH }, { "swim" , MOVE_SWIM }, { "boat" , MOVE_BOAT }, + { "ship" , MOVE_SHIP }, { "all" , MOVE_ALL }, }; @@ -475,13 +476,6 @@ bool object::parse_kv (object_thawer &f) { - assert (f.kw == KW_object || f.kw == KW_arch); - - if (f.kw == KW_object) - f.get (name); // preset name from object name - - f.next (); - object *op_inv = inv; for (;;) @@ -992,6 +986,8 @@ assert (arch); //D maybe use exception handling of sorts? + f.next (); + object *op = object::create (); op->map = map; @@ -1019,7 +1015,7 @@ { object_thawer f (buf, (AV *)0); - f.kw = KW_arch; // special hack so that parse_kv skips + f.next (); return op->parse_kv (f); }