TrinityCore
TransmogrificationPackets.cpp
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
19
21{
22 data >> transmogItem.ItemModifiedAppearanceID;
23 data >> transmogItem.Slot;
24 data >> transmogItem.SpellItemEnchantmentID;
25 data >> transmogItem.SecondaryItemModifiedAppearanceID;
26
27 return data;
28}
29
31{
32 Items.resize(_worldPacket.read<uint32>());
34 for (TransmogrifyItem& item : Items)
35 _worldPacket >> item;
36
38}
39
41{
42 _worldPacket.WriteBit(IsFullUpdate);
43 _worldPacket.WriteBit(IsSetFavorite);
44 _worldPacket << uint32(FavoriteAppearances.size());
45 _worldPacket << uint32(NewAppearances.size());
46 if (!FavoriteAppearances.empty())
47 _worldPacket.append(FavoriteAppearances.data(), FavoriteAppearances.size());
48
49 if (!NewAppearances.empty())
50 _worldPacket.append(NewAppearances.data(), NewAppearances.size());
51
52 return &_worldPacket;
53}
uint32_t uint32
Definition: Define.h:142
ByteBuffer & operator>>(ByteBuffer &data, WorldPackets::Transmogrification::TransmogrifyItem &transmogItem)
bool WriteBit(bool bit)
Definition: ByteBuffer.h:175
bool ReadBit()
Definition: ByteBuffer.h:191
WorldPacket _worldPacket
Definition: Packet.h:43