TrinityCore
Loading...
Searching...
No Matches
PetPackets.h
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#ifndef PetPackets_h__
19#define PetPackets_h__
20
21#include "Packet.h"
22#include "PetDefines.h"
23#include "Position.h"
24#include "ObjectGuid.h"
25#include "Optional.h"
26#include "UnitDefines.h"
27#include <array>
28
29namespace WorldPackets
30{
31 namespace Pet
32 {
33 class DismissCritter final : public ClientPacket
34 {
35 public:
37
38 void Read() override;
39
41 };
42
43 class RequestPetInfo final : public ClientPacket
44 {
45 public:
47
48 void Read() override { }
49 };
50
51 class PetAbandon final : public ClientPacket
52 {
53 public:
54 PetAbandon(WorldPacket&& packet) : ClientPacket(CMSG_PET_ABANDON, std::move(packet)) { }
55
56 void Read() override;
57
59 };
60
61 class PetStopAttack final : public ClientPacket
62 {
63 public:
65
66 void Read() override;
67
69 };
70
71 class PetSpellAutocast final : public ClientPacket
72 {
73 public:
75
76 void Read() override;
77
80 bool AutocastEnabled = false;
81 };
82
84 {
88 float ModRate = 1.0f;
90 };
91
93 {
96 float ChargeModRate = 1.0f;
98 };
99
100 class PetSpells final : public ServerPacket
101 {
102 public:
104
105 WorldPacket const* Write() override;
106
114
115 std::array<int, 10> ActionButtons = { };
116
117 std::vector<uint32> Actions;
118 std::vector<PetSpellCooldown> Cooldowns;
119 std::vector<PetSpellHistory> SpellHistory;
120 };
121
123 {
130 std::string PetName;
131 };
132
133 class PetStableList final : public ServerPacket
134 {
135 public:
137
138 WorldPacket const* Write() override;
139
141 std::vector<PetStableInfo> Pets;
142 };
143
144 class PetStableResult final : public ServerPacket
145 {
146 public:
148
149 WorldPacket const* Write() override;
150
152 };
153
154 class PetLearnedSpells final : public ServerPacket
155 {
156 public:
158
159 WorldPacket const* Write() override;
160
161 std::vector<uint32> Spells;
162 };
163
164 class PetUnlearnedSpells final : public ServerPacket
165 {
166 public:
168
169 WorldPacket const* Write() override;
170
171 std::vector<uint32> Spells;
172 };
173
175 {
178 std::string NewName;
180 };
181
182 class PetNameInvalid final : public ServerPacket
183 {
184 public:
185 PetNameInvalid() : ServerPacket(SMSG_PET_NAME_INVALID, 18 + 4 + 2 + 1 + 5 * 2 + 2) { }
186
187 WorldPacket const* Write() override;
188
190
192 };
193
194 class PetRename final : public ClientPacket
195 {
196 public:
197 PetRename(WorldPacket&& packet) : ClientPacket(CMSG_PET_RENAME, std::move(packet)) { }
198
199 void Read() override;
200
202 };
203
204 class PetAction final : public ClientPacket
205 {
206 public:
207 PetAction(WorldPacket&& packet) : ClientPacket(CMSG_PET_ACTION, std::move(packet)) { }
208
209 void Read() override;
210
215 };
216
217 class PetSetAction final : public ClientPacket
218 {
219 public:
221
222 void Read() override;
223
225
228 };
229
230 class PetCancelAura final : public ClientPacket
231 {
232 public:
234
235 void Read() override;
236
239 };
240
242 {
243 public:
245
246 WorldPacket const* Write() override;
247
249 };
250
251 class PetActionFeedback final : public ServerPacket
252 {
253 public:
255
256 WorldPacket const* Write() override;
257
259 ::PetActionFeedback Response = ::PetActionFeedback::None;
260 };
261
262 class PetActionSound final : public ServerPacket
263 {
264 public:
266
267 WorldPacket const* Write() override;
268
271 };
272
273 class PetTameFailure final : public ServerPacket
274 {
275 public:
277
278 WorldPacket const* Write() override;
279
281 };
282 }
283}
284
285#endif // PetPackets_h__
uint8_t uint8
Definition: Define.h:145
int8_t int8
Definition: Define.h:141
int32_t int32
Definition: Define.h:139
uint16_t uint16
Definition: Define.h:144
uint32_t uint32
Definition: Define.h:143
std::optional< T > Optional
Optional helper class to wrap optional values within.
Definition: Optional.h:25
PetActionFeedback
Definition: PetDefines.h:77
Action
Definition: boss_balinda.cpp:40
Definition: ObjectGuid.h:258
Definition: Pet.h:46
Definition: WorldPacket.h:26
Definition: Packet.h:61
Definition: PacketUtilities.h:289
Definition: PetPackets.h:34
void Read() override
Definition: PetPackets.cpp:178
DismissCritter(WorldPacket &&packet)
Definition: PetPackets.h:36
ObjectGuid CritterGUID
Definition: PetPackets.h:40
Definition: PetPackets.h:52
void Read() override
Definition: PetPackets.cpp:166
ObjectGuid Pet
Definition: PetPackets.h:58
PetAbandon(WorldPacket &&packet)
Definition: PetPackets.h:54
Definition: PetPackets.h:252
WorldPacket const * Write() override
int32 SpellID
Definition: PetPackets.h:258
PetActionFeedback()
Definition: PetPackets.h:254
::PetActionFeedback Response
Definition: PetPackets.h:259
Definition: PetPackets.h:263
ObjectGuid UnitGUID
Definition: PetPackets.h:269
WorldPacket const * Write() override
Definition: PetPackets.cpp:204
PetActionSound()
Definition: PetPackets.h:265
Definition: PetPackets.h:205
TaggedPosition< Position::XYZ > ActionPosition
Definition: PetPackets.h:214
ObjectGuid TargetGUID
Definition: PetPackets.h:213
PetAction(WorldPacket &&packet)
Definition: PetPackets.h:207
void Read() override
Definition: PetPackets.cpp:143
ObjectGuid PetGUID
Definition: PetPackets.h:211
Definition: PetPackets.h:231
PetCancelAura(WorldPacket &&packet)
Definition: PetPackets.h:233
void Read() override
Definition: PetPackets.cpp:183
int32 SpellID
Definition: PetPackets.h:238
ObjectGuid PetGUID
Definition: PetPackets.h:237
Definition: PetPackets.h:155
WorldPacket const * Write() override
Definition: PetPackets.cpp:83
std::vector< uint32 > Spells
Definition: PetPackets.h:161
PetLearnedSpells()
Definition: PetPackets.h:157
Definition: PetPackets.h:183
PetNameInvalid()
Definition: PetPackets.h:185
WorldPacket const * Write() override
Definition: PetPackets.cpp:99
PetRenameData RenameData
Definition: PetPackets.h:189
uint8 Result
Definition: PetPackets.h:191
Definition: PetPackets.h:195
PetRename(WorldPacket &&packet)
Definition: PetPackets.h:197
void Read() override
Definition: PetPackets.cpp:122
PetRenameData RenameData
Definition: PetPackets.h:201
Definition: PetPackets.h:218
void Read() override
Definition: PetPackets.cpp:158
uint32 Index
Definition: PetPackets.h:226
ObjectGuid PetGUID
Definition: PetPackets.h:224
PetSetAction(WorldPacket &&packet)
Definition: PetPackets.h:220
Definition: PetPackets.h:72
bool AutocastEnabled
Definition: PetPackets.h:80
void Read() override
Definition: PetPackets.cpp:171
uint32 SpellID
Definition: PetPackets.h:79
PetSpellAutocast(WorldPacket &&packet)
Definition: PetPackets.h:74
ObjectGuid PetGUID
Definition: PetPackets.h:78
Definition: PetPackets.h:101
uint8 Flag
Definition: PetPackets.h:113
std::array< int, 10 > ActionButtons
Definition: PetPackets.h:115
std::vector< uint32 > Actions
Definition: PetPackets.h:117
std::vector< PetSpellCooldown > Cooldowns
Definition: PetPackets.h:118
PetSpells()
Definition: PetPackets.h:103
uint8 ReactState
Definition: PetPackets.h:111
uint16 _CreatureFamily
Definition: PetPackets.h:108
uint32 TimeLimit
Definition: PetPackets.h:110
uint8 CommandState
Definition: PetPackets.h:112
std::vector< PetSpellHistory > SpellHistory
Definition: PetPackets.h:119
WorldPacket const * Write() override
Definition: PetPackets.cpp:20
uint16 Specialization
Definition: PetPackets.h:109
ObjectGuid PetGUID
Definition: PetPackets.h:107
Definition: PetPackets.h:134
ObjectGuid StableMaster
Definition: PetPackets.h:140
std::vector< PetStableInfo > Pets
Definition: PetPackets.h:141
WorldPacket const * Write() override
Definition: PetPackets.cpp:56
PetStableList()
Definition: PetPackets.h:136
Definition: PetPackets.h:145
WorldPacket const * Write() override
Definition: PetPackets.cpp:76
uint8 Result
Definition: PetPackets.h:151
PetStableResult()
Definition: PetPackets.h:147
Definition: PetPackets.h:62
void Read() override
Definition: PetPackets.cpp:153
PetStopAttack(WorldPacket &&packet)
Definition: PetPackets.h:64
ObjectGuid PetGUID
Definition: PetPackets.h:68
Definition: PetPackets.h:274
PetTameFailure()
Definition: PetPackets.h:276
uint8 Result
Definition: PetPackets.h:280
WorldPacket const * Write() override
Definition: PetPackets.cpp:212
Definition: PetPackets.h:165
std::vector< uint32 > Spells
Definition: PetPackets.h:171
WorldPacket const * Write() override
Definition: PetPackets.cpp:91
PetUnlearnedSpells()
Definition: PetPackets.h:167
Definition: PetPackets.h:44
void Read() override
Definition: PetPackets.h:48
RequestPetInfo(WorldPacket &&packet)
Definition: PetPackets.h:46
Definition: PetPackets.h:242
SetPetSpecialization()
Definition: PetPackets.h:244
WorldPacket const * Write() override
Definition: PetPackets.cpp:189
uint16 SpecID
Definition: PetPackets.h:248
Definition: Packet.h:47
@ CMSG_PET_RENAME
Definition: Opcodes.h:625
@ CMSG_PET_STOP_ATTACK
Definition: Opcodes.h:628
@ CMSG_PET_ACTION
Definition: Opcodes.h:612
@ CMSG_PET_ABANDON
Definition: Opcodes.h:611
@ CMSG_PET_SET_ACTION
Definition: Opcodes.h:626
@ CMSG_DISMISS_CRITTER
Definition: Opcodes.h:323
@ CMSG_PET_SPELL_AUTOCAST
Definition: Opcodes.h:627
@ CMSG_REQUEST_PET_INFO
Definition: Opcodes.h:721
@ CMSG_PET_CANCEL_AURA
Definition: Opcodes.h:623
@ SMSG_PET_STABLE_RESULT
Definition: Opcodes.h:1705
@ SMSG_PET_TAME_FAILURE
Definition: Opcodes.h:1706
@ SMSG_PET_ACTION_FEEDBACK
Definition: Opcodes.h:1675
@ SMSG_PET_SPELLS_MESSAGE
Definition: Opcodes.h:1703
@ SMSG_SET_PET_SPECIALIZATION
Definition: Opcodes.h:1899
@ SMSG_PET_NAME_INVALID
Definition: Opcodes.h:1700
@ SMSG_PET_STABLE_LIST
Definition: Opcodes.h:1704
@ SMSG_PET_UNLEARNED_SPELLS
Definition: Opcodes.h:1707
@ SMSG_PET_ACTION_SOUND
Definition: Opcodes.h:1676
@ SMSG_PET_LEARNED_SPELLS
Definition: Opcodes.h:1698
Definition: GameObjectAI.h:36
STL namespace.
Definition: Position.h:203
Definition: PetPackets.h:175
ObjectGuid PetGUID
Definition: PetPackets.h:176
std::string NewName
Definition: PetPackets.h:178
int32 PetNumber
Definition: PetPackets.h:177
Optional< DeclinedName > DeclinedNames
Definition: PetPackets.h:179
Definition: PetPackets.h:84
float ModRate
Definition: PetPackets.h:88
int32 SpellID
Definition: PetPackets.h:85
uint16 Category
Definition: PetPackets.h:89
int32 CategoryDuration
Definition: PetPackets.h:87
Definition: PetPackets.h:93
int8 ConsumedCharges
Definition: PetPackets.h:97
int32 CategoryID
Definition: PetPackets.h:94
float ChargeModRate
Definition: PetPackets.h:96
int32 RecoveryTime
Definition: PetPackets.h:95
Definition: PetPackets.h:123
uint32 PetNumber
Definition: PetPackets.h:125
uint32 DisplayID
Definition: PetPackets.h:127
std::string PetName
Definition: PetPackets.h:130
uint8 PetFlags
Definition: PetPackets.h:129
uint32 CreatureID
Definition: PetPackets.h:126
uint32 PetSlot
Definition: PetPackets.h:124
uint32 ExperienceLevel
Definition: PetPackets.h:128