5662{
5665#if (CLIENT_TYPE == 'R' && PACKET_VERSION >= 20180912) || \
5666 (CLIENT_TYPE == 'Z' && PACKET_VERSION >= 20180919) || \
5667 (CLIENT_TYPE == 'M' && PACKET_VERSION >= 20181002)
5669#endif
5670#if (PACKET_VERSION >= 20120925 && \
5671 ((CLIENT_TYPE == 'R' && PACKET_VERSION < 20180829) || \
5672 (CLIENT_TYPE == 'Z' && PACKET_VERSION < 20180919) || \
5673 (CLIENT_TYPE == 'M' && PACKET_VERSION < 20181002)))
5675#endif
5676 for (
auto it =
_items.begin(); it !=
_items.end(); it++) {
5677 std::shared_ptr<const item_entry_data> id = *it;
5678 uint8_t config = 0;
5679 buf() <<
id->index.inventory;
5680 buf() <<
id->item_id;
5681 buf() << (int8_t) id->type;
5682 buf() <<
id->actual_equip_location_mask;
5683 buf() <<
id->current_equip_location_mask;
5684 buf() <<
id->refine_level;
5686 buf() <<
id->slot_item_id[i];
5687 buf() <<
id->hire_expire_date;
5688 buf() << (int16_t) id->bind_type;
5689 buf() <<
id->sprite_id;
5690
5691 buf() <<
id->option_count;
5692
5694 buf() <<
id->option_data[i].index;
5695 buf() <<
id->option_data[i].value;
5696 buf() <<
id->option_data[i].param;
5697 }
5698
5699 config |= id->info.is_identified;
5700 config |= id->info.is_broken << 1;
5701 config |= id->info.is_favorite << 2;
5702
5704 }
5706}
char _name[MAX_UNIT_NAME_LENGTH]
112
Definition: Client.hpp:51
#define MAX_UNIT_NAME_LENGTH
Definition: Client.hpp:34
#define MAX_ITEM_SLOTS
Definition: ItemDefinitions.hpp:42
#define MAX_ITEM_OPTIONS
Definition: ItemDefinitions.hpp:41
void append(T value)
Definition: ByteBuffer.hpp:140
uint16_t _packet_id
ID of the network packet.
Definition: NetworkPacket.hpp:87
ByteBuffer & buf()
Definition: NetworkPacket.hpp:59