--- deliantra/server/socket/item.C 2008/08/31 02:01:41 1.70 +++ deliantra/server/socket/item.C 2008/10/28 12:48:23 1.72 @@ -401,9 +401,9 @@ if (flags & UPD_WEIGHT) { - sint32 weight = op->flag [FLAG_NO_PICK] ? -1 : op->client_weight (); + sint32 weight = op->client_weight (); - if (op) + if (op == pl) ns->last_weight = weight; sl << uint32 (weight); @@ -599,11 +599,9 @@ { std::string s = op->describe (pl->ob); - if (msg_is_special (s.c_str (), false)) - cfperl_expand_cfpod (pl, s); - packet sl ("ex"); - sl << ber32 (tag) << s.c_str (); + sl << ber32 (tag) + << data (*pl->expand_cfpod (s.c_str ())); pl->ns->send_packet (sl); } @@ -698,16 +696,16 @@ continue; if (QUERY_FLAG (ob, FLAG_WIZ)) - buf.printf ("- %s (%d).\n", query_name (tmp), tmp->count); + buf.printf (" - %s (%d).\n", query_name (tmp), tmp->count); else - buf.printf ("- %s.\n", query_name (tmp)); + buf.printf (" - %s.\n", query_name (tmp)); object *head = tmp->head_ (); if (head->inv) if ((head->type != CONTAINER && head->type != FLESH) || QUERY_FLAG (ob, FLAG_WIZ)) - buf << head->query_inventory (ob, " "); + buf << head->query_inventory (ob, " "); if (QUERY_FLAG (tmp, FLAG_IS_FLOOR) && !QUERY_FLAG (ob, FLAG_WIZ)) /* don't continue under the floor */ break;