… | |
… | |
800 | tag_t tag = net_uint32 ((uint8 *)data + 1); |
800 | tag_t tag = net_uint32 ((uint8 *)data + 1); |
801 | object *op = esrv_get_ob_from_count (pl->ob, tag); |
801 | object *op = esrv_get_ob_from_count (pl->ob, tag); |
802 | |
802 | |
803 | if (!op) |
803 | if (!op) |
804 | { |
804 | { |
805 | new_draw_info (NDI_UNIQUE, 0, pl->ob, "Could not find object to lock/unlock"); |
805 | pl->failmsg ("Could not find object to lock/unlock"); |
806 | return; |
806 | return; |
807 | } |
807 | } |
808 | |
808 | |
809 | if (!flag) |
809 | if (!flag) |
810 | CLEAR_FLAG (op, FLAG_INV_LOCKED); |
810 | CLEAR_FLAG (op, FLAG_INV_LOCKED); |
… | |
… | |
821 | tag_t tag = net_uint32 ((uint8 *)data); |
821 | tag_t tag = net_uint32 ((uint8 *)data); |
822 | object *op = esrv_get_ob_from_count (pl->ob, tag); |
822 | object *op = esrv_get_ob_from_count (pl->ob, tag); |
823 | |
823 | |
824 | if (!op) |
824 | if (!op) |
825 | { |
825 | { |
826 | new_draw_info (NDI_UNIQUE, 0, pl->ob, "Could not find object to mark"); |
826 | pl->failmsg ("Could not find object to mark"); |
827 | return; |
827 | return; |
828 | } |
828 | } |
829 | |
829 | |
830 | pl->mark = op; |
830 | pl->mark = op; |
831 | new_draw_info_format (NDI_UNIQUE, 0, pl->ob, "Marked item %s", query_name (op)); |
831 | pl->ob->statusmsg (format ("Marked item %s", query_name (op))); |
832 | } |
832 | } |
833 | |
833 | |
834 | /** |
834 | /** |
835 | * look_at prints items on the specified square. |
835 | * look_at prints items on the specified square. |
836 | * |
836 | * |
… | |
… | |
936 | |
936 | |
937 | if (--cnt <= 0) break; |
937 | if (--cnt <= 0) break; |
938 | } |
938 | } |
939 | |
939 | |
940 | if (cnt <= 0) |
940 | if (cnt <= 0) |
941 | pl->failmsg (format ( |
941 | op->failmsg ("Only dropped some items, can't drop that many items at once."); |
942 | "Moved only %d items, you can't move more than that at once.", |
|
|
943 | MAX_ITEM_PER_DROP |
|
|
944 | )); |
|
|
945 | |
942 | |
946 | esrv_update_item (UPD_WEIGHT, pl, op); |
943 | esrv_update_item (UPD_WEIGHT, pl, op); |
947 | } |
944 | } |
948 | else |
945 | else |
949 | drop_object (pl, op, nrof); |
946 | drop_object (pl, op, nrof); |
|
|
947 | |
|
|
948 | update_after_inventory_change (pl); |
950 | |
949 | |
951 | return; |
950 | return; |
952 | } |
951 | } |
953 | else if (to == pl->count) |
952 | else if (to == pl->count) |
954 | { /* pick it up to the inventory */ |
953 | { /* pick it up to the inventory */ |
… | |
… | |
972 | * has already been done (eg, it can be picked up and fits in |
971 | * has already been done (eg, it can be picked up and fits in |
973 | * in a sack, so check for those things. We should also check |
972 | * in a sack, so check for those things. We should also check |
974 | * an make sure env is in fact a container for that matter. |
973 | * an make sure env is in fact a container for that matter. |
975 | */ |
974 | */ |
976 | if (env->type == CONTAINER && can_pick (pl, op) && sack_can_hold (pl, env, op, nrof)) |
975 | if (env->type == CONTAINER && can_pick (pl, op) && sack_can_hold (pl, env, op, nrof)) |
|
|
976 | { |
977 | put_object_in_sack (pl, env, op, nrof); |
977 | put_object_in_sack (pl, env, op, nrof); |
|
|
978 | update_after_inventory_change (pl); |
|
|
979 | } |
978 | } |
980 | } |
979 | |
981 | |