--- deliantra/server/socket/item.C 2007/11/26 11:41:02 1.56 +++ deliantra/server/socket/item.C 2008/04/15 14:21:04 1.58 @@ -348,7 +348,7 @@ if (QUERY_FLAG (ob, FLAG_REMOVED) || !ob->map - || ob->map->in_memory != MAP_IN_MEMORY + || ob->map->in_memory != MAP_ACTIVE || out_of_map (ob->map, ob->x, ob->y)) return; @@ -802,7 +802,7 @@ if (!op) { - new_draw_info (NDI_UNIQUE, 0, pl->ob, "Could not find object to lock/unlock"); + pl->failmsg ("Could not find object to lock/unlock"); return; } @@ -823,12 +823,12 @@ if (!op) { - new_draw_info (NDI_UNIQUE, 0, pl->ob, "Could not find object to mark"); + pl->failmsg ("Could not find object to mark"); return; } pl->mark = op; - new_draw_info_format (NDI_UNIQUE, 0, pl->ob, "Marked item %s", query_name (op)); + pl->ob->statusmsg (format ("Marked item %s", query_name (op))); } /** @@ -938,16 +938,15 @@ } if (cnt <= 0) - pl->failmsg (format ( - "Moved only %d items, you can't move more than that at once.", - MAX_ITEM_PER_DROP - )); + op->failmsg ("Only dropped some items, can't drop that many items at once."); esrv_update_item (UPD_WEIGHT, pl, op); } else drop_object (pl, op, nrof); + update_after_inventory_change (pl); + return; } else if (to == pl->count) @@ -974,6 +973,9 @@ * an make sure env is in fact a container for that matter. */ if (env->type == CONTAINER && can_pick (pl, op) && sack_can_hold (pl, env, op, nrof)) - put_object_in_sack (pl, env, op, nrof); + { + put_object_in_sack (pl, env, op, nrof); + update_after_inventory_change (pl); + } }