--- deliantra/server/common/object.C 2006/12/26 09:52:40 1.89 +++ deliantra/server/common/object.C 2006/12/26 10:14:24 1.90 @@ -829,8 +829,6 @@ void object::do_destroy () { - attachable::do_destroy (); - if (flag [FLAG_IS_LINKED]) remove_button_link (this); @@ -845,6 +843,8 @@ flag [FLAG_FREED] = 1; + attachable::do_destroy (); + destroy_inv (true); set_speed (0); unlink (); @@ -1016,7 +1016,7 @@ int check_walk_off = !flag [FLAG_NO_APPLY]; - for (tmp = GET_MAP_OB (map, x, y); tmp; tmp = tmp->above) + for (tmp = map->at (x, y).bot; tmp; tmp = tmp->above) { /* No point updating the players look faces if he is the object * being removed. @@ -1047,6 +1047,7 @@ if (destroyed ()) LOG (llevError, "BUG: remove_ob(): name %s, destroyed leaving object\n", tmp->debug_desc ()); + LOG (llevError, "BUG: remove_ob(): name %s, destroyed leaving object\n", tmp->debug_desc ()); } /* Eneq(@csd.uu.se): Fixed this to skip tmp->above=tmp */