TrinityCore
Loading...
Searching...
No Matches
ItemPackets.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
18#include "ItemPackets.h"
19#include "PacketOperators.h"
20
21namespace WorldPackets::Item
22{
28
39
49
58
63
65{
66 data << int32(refundItem.ItemID);
67 data << int32(refundItem.ItemCount);
68
69 return data;
70}
71
73{
74 data << int32(refundCurrency.CurrencyID);
75 data << int32(refundCurrency.CurrencyCount);
76
77 return data;
78}
79
81{
82 data << uint64(purchaseContents.Money);
83 for (uint32 i = 0; i < 5; ++i)
84 data << purchaseContents.Items[i];
85
86 for (uint32 i = 0; i < 5; ++i)
87 data << purchaseContents.Currencies[i];
88
89 return data;
90}
91
101
106
118
125
127{
130 _worldPacket >> Bits<1>(UseGuildBank);
131}
132
139
144
152
160
162{
164 _worldPacket << Item[0];
165 _worldPacket << Item[1];
166 _worldPacket << uint8(ContainerBSlot); // bag type subclass, used with EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM and EQUIP_ERR_WRONG_BAG_TYPE_2
167
168 switch (BagResult)
169 {
173 break;
178 break;
183 break;
184 default:
185 break;
186 }
187
188 return &_worldPacket;
189}
190
200
202{
203 _worldPacket >> Inv;
206}
207
216
223
230
238
245
247{
249 _worldPacket << Size<uint32>(ItemGUIDs);
251 for (ObjectGuid const& itemGuid : ItemGUIDs)
252 _worldPacket << itemGuid;
253
254 return &_worldPacket;
255}
256
258{
272 _worldPacket << Size<uint32>(Toasts);
273 for (UiEventToast const& uiEventToast : Toasts)
274 _worldPacket << uiEventToast;
275
276 _worldPacket << Bits<1>(Pushed);
277 _worldPacket << Bits<1>(Created);
278 _worldPacket << Bits<1>(FakeQuestItem);
279 _worldPacket << Bits<3>(ChatNotifyType);
280 _worldPacket << Bits<1>(IsBonusRoll);
281 _worldPacket << Bits<1>(IsPersonalLoot);
285
287
290
291 if (CraftingData)
293
294 return &_worldPacket;
295}
296
298{
301}
302
304{
307 _worldPacket << Bits<2>(Subcode);
308
310
311 return &_worldPacket;
312}
313
315{
317
318 return &_worldPacket;
319}
320
322{
323 _worldPacket >> Inv;
324}
325
330
339
351
361
366
368{
370 for (ObjectGuid& gemGuid : GemItem)
371 _worldPacket >> gemGuid;
372}
373
375{
377
378 return &_worldPacket;
379}
380
385
387{
389 _worldPacket >> As<uint32>(FlagToChange);
390 _worldPacket >> Bits<1>(On);
391}
392
397
402
404{
405 _worldPacket >> Bits<1>(Disable);
406}
407
409{
411
412 return &_worldPacket;
413}
414
416{
418
419 return &_worldPacket;
420}
421
423{
424 _worldPacket << Size<uint32>(SpellID);
425 if (!SpellID.empty())
426 _worldPacket.append(SpellID.data(), SpellID.size());
427
428 return &_worldPacket;
429}
430}
uint8_t uint8
Definition Define.h:156
int32_t int32
Definition Define.h:150
uint64_t uint64
Definition Define.h:153
uint32_t uint32
Definition Define.h:154
@ EQUIP_ERR_CANT_EQUIP_LEVEL_I
Definition ItemDefines.h:27
@ EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS
@ EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM
@ EQUIP_ERR_PURCHASE_LEVEL_TOO_LOW
@ EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED_IS
@ EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED_IS
void append(T value)
Definition ByteBuffer.h:130
void FlushBits()
Definition ByteBuffer.h:141
Definition Item.h:179
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
Optional< ItemPurchaseContents > Contents
Optional< Crafting::CraftingData > CraftingData
Optional< uint32 > FirstCraftOperationID
WorldPacket const * Write() override
std::vector< UiEventToast > Toasts
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
std::vector< ObjectGuid > ItemGUIDs
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
std::array< ObjectGuid, MAX_ITEM_PROTO_SOCKETS > GemItem
WorldPacket _worldPacket
Definition Packet.h:43
ByteBuffer & operator<<(ByteBuffer &data, ItemPurchaseRefundItem &refundItem)
OptionalInitWriter< T > OptionalInit(Optional< T > const &value)
ItemPurchaseRefundCurrency Currencies[5]