… | |
… | |
659 | player_apply (pl->ob, op, 0, 0); |
659 | player_apply (pl->ob, op, 0, 0); |
660 | } |
660 | } |
661 | |
661 | |
662 | /** Client wants to apply some object. Lets do so. */ |
662 | /** Client wants to apply some object. Lets do so. */ |
663 | void |
663 | void |
664 | LockItem (uint8 * data, int len, player *pl) |
664 | LockItem (uint8 *data, int len, player *pl) |
665 | { |
665 | { |
666 | int flag, tag; |
|
|
667 | object *op; |
|
|
668 | |
|
|
669 | flag = data[0]; |
666 | int flag = data[0]; |
670 | tag = GetInt_String (data + 1); |
667 | tag_t tag = net_uint32 (data + 1); |
671 | op = esrv_get_ob_from_count (pl->ob, tag); |
668 | object *op = esrv_get_ob_from_count (pl->ob, tag); |
672 | |
669 | |
673 | if (!op) |
670 | if (!op) |
674 | { |
671 | { |
675 | new_draw_info (NDI_UNIQUE, 0, pl->ob, "Could not find object to lock/unlock"); |
672 | new_draw_info (NDI_UNIQUE, 0, pl->ob, "Could not find object to lock/unlock"); |
676 | return; |
673 | return; |
677 | } |
674 | } |
|
|
675 | |
678 | if (!flag) |
676 | if (!flag) |
679 | CLEAR_FLAG (op, FLAG_INV_LOCKED); |
677 | CLEAR_FLAG (op, FLAG_INV_LOCKED); |
680 | else |
678 | else |
681 | SET_FLAG (op, FLAG_INV_LOCKED); |
679 | SET_FLAG (op, FLAG_INV_LOCKED); |
|
|
680 | |
682 | esrv_update_item (UPD_FLAGS, pl->ob, op); |
681 | esrv_update_item (UPD_FLAGS, pl->ob, op); |
683 | } |
682 | } |
684 | |
683 | |
685 | /** Client wants to apply some object. Lets do so. */ |
684 | /** Client wants to apply some object. Lets do so. */ |
686 | void |
685 | void |
687 | MarkItem (uint8 * data, int len, player *pl) |
686 | MarkItem (uint8 * data, int len, player *pl) |
688 | { |
687 | { |
689 | int tag; |
688 | tag_t tag = net_uint32 (data); |
690 | object *op; |
|
|
691 | |
|
|
692 | tag = GetInt_String (data); |
|
|
693 | op = esrv_get_ob_from_count (pl->ob, tag); |
689 | object *op = esrv_get_ob_from_count (pl->ob, tag); |
694 | |
690 | |
695 | if (!op) |
691 | if (!op) |
696 | { |
692 | { |
697 | new_draw_info (NDI_UNIQUE, 0, pl->ob, "Could not find object to mark"); |
693 | new_draw_info (NDI_UNIQUE, 0, pl->ob, "Could not find object to mark"); |
698 | return; |
694 | return; |
699 | } |
695 | } |
700 | |
696 | |
701 | pl->mark = op; |
697 | pl->mark = op; |
702 | new_draw_info_format (NDI_UNIQUE, 0, pl->ob, "Marked item %s", query_name (op)); |
698 | new_draw_info_format (NDI_UNIQUE, 0, pl->ob, "Marked item %s", query_name (op)); |
703 | } |
699 | } |
704 | |
|
|
705 | |
700 | |
706 | /** |
701 | /** |
707 | * look_at prints items on the specified square. |
702 | * look_at prints items on the specified square. |
708 | * |
703 | * |
709 | * [ removed EARTHWALL check and added check for containers inventory. |
704 | * [ removed EARTHWALL check and added check for containers inventory. |