TrinityCore
PartyPackets.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 PartyPackets_h__
19#define PartyPackets_h__
20
21#include "Packet.h"
23#include "ObjectGuid.h"
24#include "Group.h"
26#include "Optional.h"
27
28namespace WorldPackets
29{
30 namespace Party
31 {
32 class PartyCommandResult final : public ServerPacket
33 {
34 public:
36
37 WorldPacket const* Write() override;
38
39 std::string Name;
44 };
45
46 class PartyInviteClient final : public ClientPacket
47 {
48 public:
50
51 void Read() override;
52
55 std::string TargetName;
56 std::string TargetRealm;
58 };
59
60 class PartyInvite final : public ServerPacket
61 {
62 public:
64
65 WorldPacket const* Write() override;
66
67 void Initialize(Player const* inviter, int32 proposedRoles, bool canAccept);
68
69 bool ShouldSquelch = false;
70 bool AllowMultipleRoles = false;
71 bool QuestSessionActive = false;
72 bool IsCrossFaction = false;
74
75 bool CanAccept = false;
76
77 // Inviter
81 std::string InviterName;
82
83 // Realm
84 bool IsXRealm = false;
85 bool IsXNativeRealm = false;
86
87 // Lfg
90 std::vector<uint32> LfgSlots;
91 };
92
93 class PartyInviteResponse final : public ClientPacket
94 {
95 public:
97
98 void Read() override;
99
101 bool Accept = false;
103 };
104
105 class PartyUninvite final : public ClientPacket
106 {
107 public:
109
110 void Read() override;
111
114 std::string Reason;
115 };
116
117 class GroupDecline final : public ServerPacket
118 {
119 public:
120 GroupDecline(std::string const& name) : ServerPacket(SMSG_GROUP_DECLINE, 2 + name.size()), Name(name) { }
121
122 WorldPacket const* Write() override;
123
124 std::string Name;
125 };
126
127 class GroupUninvite final : public ServerPacket
128 {
129 public:
131
132 WorldPacket const* Write() override;
133
135 };
136
138 {
139 public:
141
142 void Read() override;
143
146 };
147
149 {
151 uint16 Id = 0u;
152 };
153
155 {
158 std::vector<PartyMemberPhase> List;
159 };
160
162 {
166 std::vector<float> Points;
167 };
168
170 {
172 std::string Name;
174
177
178 std::vector<PartyMemberAuraStates> Auras;
179 };
180
182 {
186 };
187
189 {
192
195
199
204
206
208 std::vector<PartyMemberAuraStates> Auras;
210
215 int8 PartyType[2] = { };
216
218
220 };
221
223 {
224 public:
226
227 WorldPacket const* Write() override;
228 void Initialize(Player const* player);
229
230 bool ForEnemy = false;
233 };
234
235 class SetPartyLeader final : public ClientPacket
236 {
237 public:
239
240 void Read() override;
241
244 };
245
246 class SetRole final : public ClientPacket
247 {
248 public:
249 SetRole(WorldPacket&& packet) : ClientPacket(CMSG_SET_ROLE, std::move(packet)) { }
250
251 void Read() override;
252
256 };
257
258 class RoleChangedInform final : public ServerPacket
259 {
260 public:
262
263 WorldPacket const* Write() override;
264
270 };
271
272 class LeaveGroup final : public ClientPacket
273 {
274 public:
276
277 void Read() override;
278
280 };
281
282 class SetLootMethod final : public ClientPacket
283 {
284 public:
286
287 void Read() override;
288
293 };
294
295 class MinimapPingClient final : public ClientPacket
296 {
297 public:
299
300 void Read() override;
301
303 float PositionX = 0.f;
304 float PositionY = 0.f;
305 };
306
307 class MinimapPing final : public ServerPacket
308 {
309 public:
311
312 WorldPacket const* Write() override;
313
315 float PositionX = 0.f;
316 float PositionY = 0.f;
317 };
318
319 class UpdateRaidTarget final : public ClientPacket
320 {
321 public:
323
324 void Read() override;
325
329 };
330
332 {
333 public:
335
336 WorldPacket const* Write() override;
337
342 };
343
345 {
346 public:
348
349 WorldPacket const* Write() override;
350
352 std::map<uint8, ObjectGuid> TargetIcons;
353 };
354
355 class ConvertRaid final : public ClientPacket
356 {
357 public:
359
360 void Read() override;
361
362 bool Raid = false;
363 };
364
366 {
367 public:
369
370 void Read() override;
371
373 };
374
375 class SetAssistantLeader final : public ClientPacket
376 {
377 public:
379
380 void Read() override;
381
384 bool Apply = false;
385 };
386
387 class SetPartyAssignment final : public ClientPacket
388 {
389 public:
391
392 void Read() override;
396 bool Set = false;
397 };
398
399 class DoReadyCheck final : public ClientPacket
400 {
401 public:
403
404 void Read() override;
405
407 };
408
409 class ReadyCheckStarted final : public ServerPacket
410 {
411 public:
413
414 WorldPacket const* Write() override;
415
420 };
421
423 {
424 public:
426
427 void Read() override;
428
430 bool IsReady = false;
431 };
432
433 class ReadyCheckResponse final : public ServerPacket
434 {
435 public:
437
438 WorldPacket const* Write() override;
439
442 bool IsReady = false;
443 };
444
446 {
447 public:
449
450 WorldPacket const* Write() override;
451
454 };
455
456 class RequestRaidInfo final : public ClientPacket
457 {
458 public:
460
461 void Read() override { }
462 };
463
464 class OptOutOfLoot final : public ClientPacket
465 {
466 public:
468
469 void Read() override;
470
471 bool PassOnLoot = false;
472 };
473
474 class InitiateRolePoll final : public ClientPacket
475 {
476 public:
478
479 void Read() override;
480
482 };
483
484 class RolePollInform final : public ServerPacket
485 {
486 public:
488
489 WorldPacket const* Write() override;
490
493 };
494
495 class GroupNewLeader final : public ServerPacket
496 {
497 public:
499
500 WorldPacket const* Write() override;
501
503 std::string Name;
504 };
505
507 {
509 std::string Name;
510 std::string VoiceStateID; // same as bgs.protocol.club.v1.MemberVoiceState.id
516 bool FromSocialQueue = false;
517 bool VoiceChatSilenced = false;
518 bool Connected = false;
519 };
520
522 {
527 bool Aborted = false;
529 float MyGearDiff = 0.0f;
532 bool MyFirstReward = false;
533 };
534
536 {
540 };
541
543 {
547 };
548
549 class PartyUpdate final : public ServerPacket
550 {
551 public:
553
554 WorldPacket const* Write() override;
555
559
563
566
568
569 std::vector<PartyPlayerInfo> PlayerList;
570
574 };
575
577 {
578 public:
580
581 void Read() override;
582
585 };
586
587 class ChangeSubGroup final : public ClientPacket
588 {
589 public:
591
592 void Read() override;
593
597 };
598
599 class SwapSubGroups final : public ClientPacket
600 {
601 public:
603
604 void Read() override;
605
609 };
610
611 class ClearRaidMarker final : public ClientPacket
612 {
613 public:
615
616 void Read() override;
617
619 };
620
621 class RaidMarkersChanged final : public ServerPacket
622 {
623 public:
625
626 WorldPacket const* Write() override;
627
630
631 std::vector<RaidMarker const*> RaidMarkers;
632 };
633
634 class PartyKillLog final : public ServerPacket
635 {
636 public:
638
639 WorldPacket const* Write() override;
640
643 };
644
645 class GroupDestroyed final : public ServerPacket
646 {
647 public:
649
650 WorldPacket const* Write() override { return &_worldPacket; }
651 };
652
654 {
655 public:
657
658 WorldPacket const* Write() override;
659
661 };
662
664 {
665 public:
667
668 WorldPacket const* Write() override;
669
671 bool Accepted = false;
672 };
673
675 {
676 public:
678
679 void Read() override;
680
683 };
684
685 class SendPingUnit final : public ClientPacket
686 {
687 public:
688 explicit SendPingUnit(WorldPacket&& packet) : ClientPacket(CMSG_SEND_PING_UNIT, std::move(packet)) { }
689
690 void Read() override;
691
699 };
700
701 class ReceivePingUnit final : public ServerPacket
702 {
703 public:
705
706 WorldPacket const* Write() override;
707
715 };
716
717 class SendPingWorldPoint final : public ClientPacket
718 {
719 public:
721
722 void Read() override;
723
731 };
732
734 {
735 public:
737
738 WorldPacket const* Write() override;
739
747 };
748
749 class CancelPingPin final : public ServerPacket
750 {
751 public:
753
754 WorldPacket const* Write() override;
755
758 };
759 }
760}
761
762#endif // PartyPackets_h__
uint8_t uint8
Definition: Define.h:144
int16_t int16
Definition: Define.h:139
int8_t int8
Definition: Define.h:140
int32_t int32
Definition: Define.h:138
uint16_t uint16
Definition: Define.h:143
uint32_t uint32
Definition: Define.h:142
RestrictPingsTo
Definition: Group.h:195
PingSubjectType
Definition: Group.h:183
#define TARGET_ICONS_COUNT
Definition: Group.h:54
LootMethod
Definition: Loot.h:89
std::optional< T > Optional
Optional helper class to wrap optional values within.
Definition: Optional.h:25
PhaseShiftFlags
Definition: PhaseShift.h:34
PowerType
WorldPacket _worldPacket
Definition: Packet.h:43
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
ChangeSubGroup(WorldPacket &&packet)
Definition: PartyPackets.h:590
ClearRaidMarker(WorldPacket &&packet)
Definition: PartyPackets.h:614
ConvertRaid(WorldPacket &&packet)
Definition: PartyPackets.h:358
DoReadyCheck(WorldPacket &&packet)
Definition: PartyPackets.h:402
GroupDecline(std::string const &name)
Definition: PartyPackets.h:120
WorldPacket const * Write() override
WorldPacket const * Write() override
Definition: PartyPackets.h:650
WorldPacket const * Write() override
WorldPacket const * Write() override
InitiateRolePoll(WorldPacket &&packet)
Definition: PartyPackets.h:477
LeaveGroup(WorldPacket &&packet)
Definition: PartyPackets.h:275
MinimapPingClient(WorldPacket &&packet)
Definition: PartyPackets.h:298
WorldPacket const * Write() override
OptOutOfLoot(WorldPacket &&packet)
Definition: PartyPackets.h:467
WorldPacket const * Write() override
PartyInviteClient(WorldPacket &&packet)
Definition: PartyPackets.h:49
PartyInviteResponse(WorldPacket &&packet)
Definition: PartyPackets.h:96
std::vector< uint32 > LfgSlots
Definition: PartyPackets.h:90
void Initialize(Player const *inviter, int32 proposedRoles, bool canAccept)
Auth::VirtualRealmInfo InviterRealm
Definition: PartyPackets.h:78
WorldPacket const * Write() override
WorldPacket const * Write() override
void Initialize(Player const *player)
WorldPacket const * Write() override
PartyUninvite(WorldPacket &&packet)
Definition: PartyPackets.h:108
Optional< PartyLootSettings > LootSettings
Definition: PartyPackets.h:572
Optional< PartyDifficultySettings > DifficultySettings
Definition: PartyPackets.h:573
std::vector< PartyPlayerInfo > PlayerList
Definition: PartyPackets.h:569
WorldPacket const * Write() override
Optional< PartyLFGInfo > LfgInfos
Definition: PartyPackets.h:571
WorldPacket const * Write() override
std::vector< RaidMarker const * > RaidMarkers
Definition: PartyPackets.h:631
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPackets::Duration< Milliseconds > Duration
Definition: PartyPackets.h:419
Optional< uint32 > SpellOverrideNameID
Definition: PartyPackets.h:714
Duration< Milliseconds, int32 > PingDuration
Definition: PartyPackets.h:712
WorldPacket const * Write() override
Duration< Milliseconds, int32 > PingDuration
Definition: PartyPackets.h:745
WorldPacket const * Write() override
TaggedPosition< Position::XYZ > Point
Definition: PartyPackets.h:742
RequestRaidInfo(WorldPacket &&packet)
Definition: PartyPackets.h:459
WorldPacket const * Write() override
WorldPacket const * Write() override
SendPingUnit(WorldPacket &&packet)
Definition: PartyPackets.h:688
Optional< uint32 > SpellOverrideNameID
Definition: PartyPackets.h:698
Duration< Milliseconds, int32 > PingDuration
Definition: PartyPackets.h:696
TaggedPosition< Position::XYZ > Point
Definition: PartyPackets.h:726
Duration< Milliseconds, int32 > PingDuration
Definition: PartyPackets.h:730
SendPingWorldPoint(WorldPacket &&packet)
Definition: PartyPackets.h:720
std::map< uint8, ObjectGuid > TargetIcons
Definition: PartyPackets.h:352
WorldPacket const * Write() override
SetAssistantLeader(WorldPacket &&packet)
Definition: PartyPackets.h:378
SetLootMethod(WorldPacket &&packet)
Definition: PartyPackets.h:285
SetPartyAssignment(WorldPacket &&packet)
Definition: PartyPackets.h:390
SetPartyLeader(WorldPacket &&packet)
Definition: PartyPackets.h:238
Optional< uint8 > PartyIndex
Definition: PartyPackets.h:253
SetRole(WorldPacket &&packet)
Definition: PartyPackets.h:249
SwapSubGroups(WorldPacket &&packet)
Definition: PartyPackets.h:602
UpdateRaidTarget(WorldPacket &&packet)
Definition: PartyPackets.h:322
@ SMSG_RECEIVE_PING_UNIT
Definition: Opcodes.h:1917
@ SMSG_READY_CHECK_COMPLETED
Definition: Opcodes.h:1910
@ SMSG_PARTY_COMMAND_RESULT
Definition: Opcodes.h:1754
@ SMSG_BROADCAST_SUMMON_CAST
Definition: Opcodes.h:1107
@ SMSG_SEND_RAID_TARGET_UPDATE_ALL
Definition: Opcodes.h:1977
@ SMSG_BROADCAST_SUMMON_RESPONSE
Definition: Opcodes.h:1108
@ SMSG_RECEIVE_PING_WORLD_POINT
Definition: Opcodes.h:1918
@ SMSG_GROUP_UNINVITE
Definition: Opcodes.h:1437
@ SMSG_ROLE_POLL_INFORM
Definition: Opcodes.h:1954
@ SMSG_PARTY_MEMBER_FULL_STATE
Definition: Opcodes.h:1758
@ SMSG_PARTY_INVITE
Definition: Opcodes.h:1756
@ SMSG_GROUP_DESTROYED
Definition: Opcodes.h:1434
@ SMSG_SEND_RAID_TARGET_UPDATE_SINGLE
Definition: Opcodes.h:1978
@ SMSG_GROUP_NEW_LEADER
Definition: Opcodes.h:1435
@ SMSG_PARTY_KILL_LOG
Definition: Opcodes.h:1757
@ SMSG_ROLE_CHANGED_INFORM
Definition: Opcodes.h:1952
@ SMSG_RAID_MARKERS_CHANGED
Definition: Opcodes.h:1907
@ SMSG_PARTY_UPDATE
Definition: Opcodes.h:1761
@ SMSG_READY_CHECK_STARTED
Definition: Opcodes.h:1912
@ SMSG_GROUP_DECLINE
Definition: Opcodes.h:1433
@ SMSG_MINIMAP_PING
Definition: Opcodes.h:1610
@ SMSG_CANCEL_PING_PIN
Definition: Opcodes.h:1137
@ SMSG_READY_CHECK_RESPONSE
Definition: Opcodes.h:1911
@ CMSG_REQUEST_PARTY_JOIN_UPDATES
Definition: Opcodes.h:745
@ CMSG_CHANGE_SUB_GROUP
Definition: Opcodes.h:190
@ CMSG_CONVERT_RAID
Definition: Opcodes.h:299
@ CMSG_READY_CHECK_RESPONSE
Definition: Opcodes.h:714
@ CMSG_SWAP_SUB_GROUPS
Definition: Opcodes.h:871
@ CMSG_SET_ASSISTANT_LEADER
Definition: Opcodes.h:795
@ CMSG_OPT_OUT_OF_LOOT
Definition: Opcodes.h:621
@ CMSG_DO_READY_CHECK
Definition: Opcodes.h:337
@ CMSG_SEND_PING_UNIT
Definition: Opcodes.h:786
@ CMSG_MINIMAP_PING
Definition: Opcodes.h:514
@ CMSG_SET_PARTY_LEADER
Definition: Opcodes.h:814
@ CMSG_LEAVE_GROUP
Definition: Opcodes.h:459
@ CMSG_SET_EVERYONE_IS_ASSISTANT
Definition: Opcodes.h:804
@ CMSG_SET_PARTY_ASSIGNMENT
Definition: Opcodes.h:813
@ CMSG_CLEAR_RAID_MARKER
Definition: Opcodes.h:250
@ CMSG_PARTY_INVITE_RESPONSE
Definition: Opcodes.h:624
@ CMSG_INITIATE_ROLE_POLL
Definition: Opcodes.h:445
@ CMSG_SET_ROLE
Definition: Opcodes.h:823
@ CMSG_REQUEST_RAID_INFO
Definition: Opcodes.h:750
@ CMSG_SET_RESTRICT_PINGS_TO_ASSISTANTS
Definition: Opcodes.h:822
@ CMSG_PARTY_INVITE
Definition: Opcodes.h:623
@ CMSG_PARTY_UNINVITE
Definition: Opcodes.h:625
@ CMSG_SET_LOOT_METHOD
Definition: Opcodes.h:811
@ CMSG_UPDATE_RAID_TARGET
Definition: Opcodes.h:908
@ CMSG_SEND_PING_WORLD_POINT
Definition: Opcodes.h:787
@ CMSG_REQUEST_PARTY_MEMBER_STATS
Definition: Opcodes.h:746
constexpr std::size_t size()
Definition: UpdateField.h:769
STL namespace.
std::vector< PartyMemberAuraStates > Auras
Definition: PartyPackets.h:178
std::vector< PartyMemberPhase > List
Definition: PartyPackets.h:158
Optional< PartyMemberPetStats > PetStats
Definition: PartyPackets.h:209
std::vector< PartyMemberAuraStates > Auras
Definition: PartyPackets.h:208
MythicPlus::DungeonScoreSummary DungeonScore
Definition: PartyPackets.h:219