--- deliantra/server/common/map.C 2007/05/17 21:32:08 1.102 +++ deliantra/server/common/map.C 2007/05/28 05:35:51 1.105 @@ -222,12 +222,11 @@ if (OB_MOVE_BLOCK (ob, tmp)) return 1; - if (QUERY_FLAG (tmp, FLAG_ALIVE) + if (tmp->flag [FLAG_ALIVE] && tmp->head_ () != ob && tmp != ob && tmp->type != DOOR - && !tmp->flag [FLAG_WIZ] - && tmp->contr->hidden) + && !(tmp->flag [FLAG_WIZ] && tmp->contr->hidden)) return 1; } @@ -673,9 +672,9 @@ { for (;;) { - keyword kw = thawer.get_kv (); + thawer.next (); - switch (kw) + switch (thawer.kw) { case KW_msg: thawer.get_ml (KW_endmsg, msg); @@ -872,8 +871,9 @@ if (spaces) { for (mapspace *ms = spaces + size (); ms-- > spaces; ) - while (object *op = ms->bot->head_ ()) + while (object *op = ms->bot) { + op = op->head_ (); op->destroy_inv (false); op->destroy (); }