TrinityCore
AzeritePackets.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 "AzeritePackets.h"
19#include "Util.h"
20
22{
25
26 return &_worldPacket;
27}
28
30{
31 _worldPacket >> AzeriteItemMilestonePowerID;
32}
33
35{
36 _worldPacket >> AzeriteEssenceID;
37 _worldPacket >> Slot;
38}
39
41{
42 _worldPacket.WriteBits(AsUnderlyingType(Reason), 4);
43 _worldPacket.WriteBit(Slot.has_value());
44 _worldPacket << int32(Arg);
45 _worldPacket << int32(AzeriteEssenceID);
46 if (Slot)
47 _worldPacket << uint8(*Slot);
48
49 return &_worldPacket;
50}
51
53{
54 _worldPacket >> ItemGUID;
55}
56
58{
59 _worldPacket >> Tier;
60 _worldPacket >> AzeritePowerID;
61 _worldPacket >> ContainerSlot;
62 _worldPacket >> Slot;
63}
64
66{
67 _worldPacket.WriteBit(IsHeartEquipped);
68 _worldPacket.FlushBits();
69
70 return &_worldPacket;
71}
uint8_t uint8
Definition: Define.h:144
int32_t int32
Definition: Define.h:138
uint64_t uint64
Definition: Define.h:141
constexpr std::underlying_type< E >::type AsUnderlyingType(E enumValue)
Definition: Util.h:491
bool WriteBit(bool bit)
Definition: ByteBuffer.h:175
void WriteBits(std::size_t value, int32 bits)
Definition: ByteBuffer.h:203
WorldPacket const * Write() override
WorldPacket _worldPacket
Definition: Packet.h:43