TrinityCore
GuildPackets.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 "GuildPackets.h"
19
21{
24}
25
28
30{
31 _worldPacket << GuildGuid;
32 _worldPacket.WriteBit(Info.has_value());
33 _worldPacket.FlushBits();
34
35 if (Info)
36 {
37 _worldPacket << Info->GuildGUID;
38 _worldPacket << uint32(Info->VirtualRealmAddress);
39 _worldPacket << uint32(Info->Ranks.size());
40 _worldPacket << uint32(Info->EmblemStyle);
41 _worldPacket << uint32(Info->EmblemColor);
42 _worldPacket << uint32(Info->BorderStyle);
43 _worldPacket << uint32(Info->BorderColor);
44 _worldPacket << uint32(Info->BackgroundColor);
45 _worldPacket.WriteBits(Info->GuildName.size(), 7);
46 _worldPacket.FlushBits();
47
48 for (GuildInfo::GuildInfoRank const& rank : Info->Ranks)
49 {
50 _worldPacket << uint32(rank.RankID);
51 _worldPacket << uint32(rank.RankOrder);
52 _worldPacket.WriteBits(rank.RankName.size(), 7);
53 _worldPacket.FlushBits();
54
55 _worldPacket.WriteString(rank.RankName);
56 }
57
58 _worldPacket.WriteString(Info->GuildName);
59 }
60
61 return &_worldPacket;
62}
63
65{
66 _worldPacket << int32(NumAccounts);
67 _worldPacket << CreateDate;
68 _worldPacket << int32(GuildFlags);
69 _worldPacket << uint32(MemberData.size());
70 _worldPacket.WriteBits(WelcomeText.length(), 11);
71 _worldPacket.WriteBits(InfoText.length(), 11);
72 _worldPacket.FlushBits();
73
74 for (GuildRosterMemberData const& member : MemberData)
75 _worldPacket << member;
76
77 _worldPacket.WriteString(WelcomeText);
78 _worldPacket.WriteString(InfoText);
79
80 return &_worldPacket;
81}
82
84{
85 _worldPacket << uint32(MemberData.size());
86
87 for (GuildRosterMemberData const& member : MemberData)
88 _worldPacket << member;
89
90 return &_worldPacket;
91}
92
94{
95 uint32 textLen = _worldPacket.ReadBits(11);
96 MotdText = _worldPacket.ReadString(textLen);
97}
98
100{
101 _worldPacket << int32(Result);
102 _worldPacket << int32(Command);
103
104 _worldPacket.WriteBits(Name.length(), 8);
105 _worldPacket.FlushBits();
106
107 _worldPacket.WriteString(Name);
108
109 return &_worldPacket;
110}
111
113{
114 Allow = _worldPacket.ReadBit();
115}
116
118{
119 uint32 nameLen = _worldPacket.ReadBits(9);
120 if (_worldPacket.ReadBit())
121 Unused910.emplace();
122
123 Name = _worldPacket.ReadString(nameLen);
124
125 if (Unused910)
126 _worldPacket >> *Unused910;
127}
128
130{
131 _worldPacket.WriteBits(InviterName.length(), 6);
132 _worldPacket.WriteBits(GuildName.length(), 7);
133 _worldPacket.WriteBits(OldGuildName.length(), 7);
134 _worldPacket.FlushBits();
135
136 _worldPacket << uint32(InviterVirtualRealmAddress);
137 _worldPacket << uint32(GuildVirtualRealmAddress);
138 _worldPacket << GuildGUID;
139 _worldPacket << uint32(OldGuildVirtualRealmAddress);
140 _worldPacket << OldGuildGUID;
141 _worldPacket << uint32(EmblemStyle);
142 _worldPacket << uint32(EmblemColor);
143 _worldPacket << uint32(BorderStyle);
144 _worldPacket << uint32(BorderColor);
145 _worldPacket << uint32(Background);
146 _worldPacket << int32(AchievementPoints);
147
148 _worldPacket.WriteString(InviterName);
149 _worldPacket.WriteString(GuildName);
150 _worldPacket.WriteString(OldGuildName);
151
152 return &_worldPacket;
153}
154
156{
157 data << int32(rosterProfessionData.DbID);
158 data << int32(rosterProfessionData.Rank);
159 data << int32(rosterProfessionData.Step);
160
161 return data;
162}
163
165{
166 data << rosterMemberData.Guid;
167 data << int32(rosterMemberData.RankID);
168 data << int32(rosterMemberData.AreaID);
169 data << int32(rosterMemberData.PersonalAchievementPoints);
170 data << int32(rosterMemberData.GuildReputation);
171 data << float(rosterMemberData.LastSave);
172
173 for (uint8 i = 0; i < 2; i++)
174 data << rosterMemberData.Profession[i];
175
176 data << uint32(rosterMemberData.VirtualRealmAddress);
177 data << uint8(rosterMemberData.Status);
178 data << uint8(rosterMemberData.Level);
179 data << uint8(rosterMemberData.ClassID);
180 data << uint8(rosterMemberData.Gender);
181 data << uint64(rosterMemberData.GuildClubMemberID);
182 data << uint8(rosterMemberData.RaceID);
183
184 data.WriteBits(rosterMemberData.Name.length(), 6);
185 data.WriteBits(rosterMemberData.Note.length(), 8);
186 data.WriteBits(rosterMemberData.OfficerNote.length(), 8);
187 data.WriteBit(rosterMemberData.Authenticated);
188 data.WriteBit(rosterMemberData.SorEligible);
189 data.FlushBits();
190
191 data << rosterMemberData.DungeonScore;
192
193 data.WriteString(rosterMemberData.Name);
194 data.WriteString(rosterMemberData.Note);
195 data.WriteString(rosterMemberData.OfficerNote);
196
197 return data;
198}
199
201{
202 _worldPacket << Guid;
203 _worldPacket.WriteBit(AFK);
204 _worldPacket.WriteBit(DND);
205 _worldPacket.FlushBits();
206
207 return &_worldPacket;
208}
209
211{
212 _worldPacket << Guid;
213 _worldPacket << uint32(VirtualRealmAddress);
214
215 _worldPacket.WriteBits(Name.length(), 6);
216 _worldPacket.WriteBit(LoggedOn);
217 _worldPacket.WriteBit(Mobile);
218 _worldPacket.FlushBits();
219
220 _worldPacket.WriteString(Name);
221
222 return &_worldPacket;
223}
224
226{
227 _worldPacket.WriteBits(MotdText.length(), 11);
228 _worldPacket.FlushBits();
229
230 _worldPacket.WriteString(MotdText);
231
232 return &_worldPacket;
233}
234
236{
237 _worldPacket << Guid;
238 _worldPacket << uint32(VirtualRealmAddress);
239
240 _worldPacket.WriteBits(Name.length(), 6);
241 _worldPacket.FlushBits();
242
243 _worldPacket.WriteString(Name);
244
245 return &_worldPacket;
246}
247
249{
250 _worldPacket << RankID;
251
252 return &_worldPacket;
253}
254
256{
257 _worldPacket << Money;
258
259 return &_worldPacket;
260}
261
263{
264 _worldPacket.reserve(4 + Entry.size() * 38);
265
266 _worldPacket << uint32(Entry.size());
267
268 for (GuildEventEntry const& entry : Entry)
269 {
270 _worldPacket << entry.PlayerGUID;
271 _worldPacket << entry.OtherGUID;
272 _worldPacket << uint8(entry.TransactionType);
273 _worldPacket << uint8(entry.RankID);
274 _worldPacket << uint32(entry.TransactionDate);
275 }
276
277 return &_worldPacket;
278}
279
281{
282 _worldPacket.WriteBit(Removed);
283 _worldPacket.WriteBits(LeaverName.length(), 6);
284
285 if (Removed)
286 {
287 _worldPacket.WriteBits(RemoverName.length(), 6);
288
289 _worldPacket << RemoverGUID;
290 _worldPacket << uint32(RemoverVirtualRealmAddress);
291 _worldPacket.WriteString(RemoverName);
292 }
293
294 _worldPacket << LeaverGUID;
295 _worldPacket << uint32(LeaverVirtualRealmAddress);
296 _worldPacket.WriteString(LeaverName);
297
298 return &_worldPacket;
299}
300
302{
303 _worldPacket << uint32(RankID);
304 _worldPacket << int32(Flags);
305 _worldPacket << int32(WithdrawGoldLimit);
306 _worldPacket << int32(NumTabs);
307 _worldPacket << uint32(Tab.size());
308
309 for (GuildRankTabPermissions const& tab : Tab)
310 {
311 _worldPacket << int32(tab.Flags);
312 _worldPacket << int32(tab.WithdrawItemLimit);
313 }
314
315 return &_worldPacket;
316}
317
319{
320 _worldPacket >> RankID;
321 _worldPacket >> RankOrder;
322 _worldPacket >> Flags;
323 _worldPacket >> WithdrawGoldLimit;
324
325 for (uint8 i = 0; i < GUILD_BANK_MAX_TABS; i++)
326 {
327 _worldPacket >> TabFlags[i];
328 _worldPacket >> TabWithdrawItemLimit[i];
329 }
330
331 _worldPacket.ResetBitPos();
332 uint32 rankNameLen = _worldPacket.ReadBits(7);
333
334 RankName = _worldPacket.ReadString(rankNameLen);
335
336 _worldPacket >> OldFlags;
337}
338
340{
341 _worldPacket.WriteBit(SelfPromoted);
342 _worldPacket.WriteBits(OldLeaderName.length(), 6);
343 _worldPacket.WriteBits(NewLeaderName.length(), 6);
344 _worldPacket.FlushBits();
345
346 _worldPacket << OldLeaderGUID;
347 _worldPacket << uint32(OldLeaderVirtualRealmAddress);
348 _worldPacket << NewLeaderGUID;
349 _worldPacket << uint32(NewLeaderVirtualRealmAddress);
350
351 _worldPacket.WriteString(OldLeaderName);
352 _worldPacket.WriteString(NewLeaderName);
353
354 return &_worldPacket;
355}
356
358{
359 _worldPacket << int32(Tab);
360
361 _worldPacket.WriteBits(Name.length(), 7);
362 _worldPacket.WriteBits(Icon.length(), 9);
363 _worldPacket.FlushBits();
364
365 _worldPacket.WriteString(Name);
366 _worldPacket.WriteString(Icon);
367
368 return &_worldPacket;
369}
370
372{
373 _worldPacket << Tab;
374
375 return &_worldPacket;
376}
377
379{
380 data << uint8(rankData.RankID);
381 data << int32(rankData.RankOrder);
382 data << uint32(rankData.Flags);
383 data << uint32(rankData.WithdrawGoldLimit);
384
385 for (uint8 i = 0; i < GUILD_BANK_MAX_TABS; i++)
386 {
387 data << uint32(rankData.TabFlags[i]);
388 data << uint32(rankData.TabWithdrawItemLimit[i]);
389 }
390
391 data.WriteBits(rankData.RankName.length(), 7);
392 data.FlushBits();
393
394 data.WriteString(rankData.RankName);
395
396 return data;
397}
398
400{
401 uint32 nameLen = _worldPacket.ReadBits(7);
402 _worldPacket.ResetBitPos();
403
404 _worldPacket >> RankOrder;
405 Name = _worldPacket.ReadString(nameLen);
406}
407
409{
410 _worldPacket >> Member;
411 _worldPacket >> RankOrder;
412}
413
415{
416 _worldPacket >> RankOrder;
417}
418
420{
421 _worldPacket >> GuildGUID;
422}
423
425{
426 _worldPacket << uint32(Ranks.size());
427
428 for (GuildRankData const& rank : Ranks)
429 _worldPacket << rank;
430
431 return &_worldPacket;
432}
433
435{
436 _worldPacket << Officer;
437 _worldPacket << Other;
438 _worldPacket << uint32(RankID);
439
440 _worldPacket.WriteBit(Promote);
441 _worldPacket.FlushBits();
442
443 return &_worldPacket;
444}
445
447{
448 _worldPacket >> RankOrder;
449 ShiftUp = _worldPacket.ReadBit();
450}
451
453{
454 uint32 textLen = _worldPacket.ReadBits(11);
455 InfoText = _worldPacket.ReadString(textLen);
456}
457
459{
460 _worldPacket >> NoteeGUID;
461
462 uint32 noteLen = _worldPacket.ReadBits(8);
463 IsPublic = _worldPacket.ReadBit();
464
465 Note = _worldPacket.ReadString(noteLen);
466}
467
469{
470 _worldPacket.reserve(16 + 2 + Note.size());
471
472 _worldPacket << Member;
473
474 _worldPacket.WriteBits(Note.length(), 8);
475 _worldPacket.WriteBit(IsPublic);
476 _worldPacket.FlushBits();
477
478 _worldPacket.WriteString(Note);
479
480 return &_worldPacket;
481}
482
484{
485 _worldPacket >> Demotee;
486}
487
489{
490 _worldPacket >> Promotee;
491}
492
494{
495 _worldPacket >> Removee;
496}
497
499{
500 uint32 nameLen = _worldPacket.ReadBits(7);
501 NewName = _worldPacket.ReadString(nameLen);
502}
503
505{
506 _worldPacket.WriteBit(FlagSet);
507
508 return &_worldPacket;
509}
510
512{
513 _worldPacket >> GuildGUID;
514}
515
517{
518 _worldPacket.WriteBit(InGuildParty);
519 _worldPacket.FlushBits();
520
521 _worldPacket << int32(NumMembers);
522 _worldPacket << int32(NumRequired);
523 _worldPacket << float(GuildXPEarnedMult);
524
525 return &_worldPacket;
526}
527
529{
530 data << uint32(rewardItem.ItemID);
531 data << uint32(rewardItem.Unk4);
532 data << uint32(rewardItem.AchievementsRequired.size());
533 data << uint64(rewardItem.RaceMask.RawValue);
534 data << int32(rewardItem.MinGuildLevel);
535 data << int32(rewardItem.MinGuildRep);
536 data << uint64(rewardItem.Cost);
537
538 for (std::size_t i = 0; i < rewardItem.AchievementsRequired.size(); i++)
539 data << uint32(rewardItem.AchievementsRequired[i]);
540
541 return data;
542}
543
545{
546 _worldPacket >> CurrentVersion;
547}
548
550{
551 _worldPacket << Version;
552 _worldPacket << uint32(RewardItems.size());
553
554 for (GuildRewardItem const& item : RewardItems)
555 _worldPacket << item;
556
557 return &_worldPacket;
558}
559
561{
562 _worldPacket >> Banker;
563 FullUpdate = _worldPacket.ReadBit();
564}
565
567{
568 _worldPacket >> Banker;
569 _worldPacket >> BankTab;
570}
571
573{
574 _worldPacket >> Banker;
575 _worldPacket >> BankTab;
576
577 _worldPacket.ResetBitPos();
578 uint32 nameLen = _worldPacket.ReadBits(7);
579 uint32 iconLen = _worldPacket.ReadBits(9);
580
581 Name = _worldPacket.ReadString(nameLen);
582 Icon = _worldPacket.ReadString(iconLen);
583}
584
586{
587 _worldPacket >> Banker;
588 _worldPacket >> Money;
589}
590
592{
593 _worldPacket >> Banker;
594 _worldPacket >> Tab;
595
596 FullUpdate = _worldPacket.ReadBit();
597}
598
600{
601 _worldPacket << RemainingWithdrawMoney;
602
603 return &_worldPacket;
604}
605
607{
608 _worldPacket >> Banker;
609 _worldPacket >> Money;
610}
611
613{
614 _worldPacket << uint64(Money);
615 _worldPacket << int32(Tab);
616 _worldPacket << int32(WithdrawalsRemaining);
617 _worldPacket << uint32(TabInfo.size());
618 _worldPacket << uint32(ItemInfo.size());
619 _worldPacket.WriteBit(FullUpdate);
620 _worldPacket.FlushBits();
621
622 for (GuildBankTabInfo const& tab : TabInfo)
623 {
624 _worldPacket << int32(tab.TabIndex);
625 _worldPacket.WriteBits(tab.Name.length(), 7);
626 _worldPacket.WriteBits(tab.Icon.length(), 9);
627 _worldPacket.FlushBits();
628
629 _worldPacket.WriteString(tab.Name);
630 _worldPacket.WriteString(tab.Icon);
631 }
632
633 for (GuildBankItemInfo const& item : ItemInfo)
634 {
635 _worldPacket << int32(item.Slot);
636 _worldPacket << int32(item.Count);
637 _worldPacket << int32(item.EnchantmentID);
638 _worldPacket << int32(item.Charges);
639 _worldPacket << int32(item.OnUseEnchantmentID);
640 _worldPacket << int32(item.Flags);
641 _worldPacket << item.Item;
642 _worldPacket.WriteBits(item.SocketEnchant.size(), 2);
643 _worldPacket.WriteBit(item.Locked);
644 _worldPacket.FlushBits();
645
646 for (Item::ItemGemData const& socketEnchant : item.SocketEnchant)
647 _worldPacket << socketEnchant;
648 }
649
650 return &_worldPacket;
651}
652
654{
655 _worldPacket >> Banker;
656 _worldPacket >> BankTab;
657 _worldPacket >> BankSlot;
658 _worldPacket >> ContainerItemSlot;
659
660 if (_worldPacket.ReadBit())
661 ContainerSlot.emplace();
662
663 if (ContainerSlot)
664 _worldPacket >> *ContainerSlot;
665}
666
668{
669 _worldPacket >> Banker;
670 _worldPacket >> BankTab;
671 _worldPacket >> BankSlot;
672 _worldPacket >> ContainerItemSlot;
673
674 if (_worldPacket.ReadBit())
675 ContainerSlot.emplace();
676
677 if (ContainerSlot)
678 _worldPacket >> *ContainerSlot;
679}
680
682{
683 _worldPacket >> Banker;
684 _worldPacket >> BankTab;
685 _worldPacket >> BankSlot;
686 _worldPacket >> ContainerItemSlot;
687
688 if (_worldPacket.ReadBit())
689 ContainerSlot.emplace();
690
691 if (ContainerSlot)
692 _worldPacket >> *ContainerSlot;
693}
694
696{
697 _worldPacket >> Banker;
698 _worldPacket >> BankTab[0];
699 _worldPacket >> BankSlot[0];
700 _worldPacket >> BankTab[1];
701 _worldPacket >> BankSlot[1];
702}
703
705{
706 _worldPacket >> Banker;
707 _worldPacket >> BankTab;
708 _worldPacket >> BankSlot;
709 _worldPacket >> BankTab1;
710 _worldPacket >> BankSlot1;
711}
712
714{
715 _worldPacket >> Banker;
716 _worldPacket >> BankTab;
717 _worldPacket >> BankSlot;
718 _worldPacket >> ContainerItemSlot;
719 _worldPacket >> StackCount;
720
721 if (_worldPacket.ReadBit())
722 ContainerSlot.emplace();
723
724 if (ContainerSlot)
725 _worldPacket >> *ContainerSlot;
726}
727
729{
730 _worldPacket >> Banker;
731 _worldPacket >> BankTab;
732 _worldPacket >> BankSlot;
733 _worldPacket >> ContainerItemSlot;
734 _worldPacket >> StackCount;
735
736 if (_worldPacket.ReadBit())
737 ContainerSlot.emplace();
738
739 if (ContainerSlot)
740 _worldPacket >> *ContainerSlot;
741}
742
744{
745 _worldPacket >> Banker;
746 _worldPacket >> BankTab;
747 _worldPacket >> BankSlot;
748 _worldPacket >> ContainerItemSlot;
749 _worldPacket >> StackCount;
750
751 if (_worldPacket.ReadBit())
752 ContainerSlot.emplace();
753
754 if (ContainerSlot)
755 _worldPacket >> *ContainerSlot;
756}
757
759{
760 _worldPacket >> Banker;
761 _worldPacket >> BankTab;
762 _worldPacket >> BankSlot;
763 _worldPacket >> ContainerItemSlot;
764 _worldPacket >> StackCount;
765
766 if (_worldPacket.ReadBit())
767 ContainerSlot.emplace();
768
769 if (ContainerSlot)
770 _worldPacket >> *ContainerSlot;
771}
772
774{
775 _worldPacket >> Banker;
776 _worldPacket >> BankTab;
777 _worldPacket >> BankSlot;
778}
779
781{
782 _worldPacket >> Banker;
783 _worldPacket >> BankTab;
784 _worldPacket >> BankSlot;
785 _worldPacket >> BankTab1;
786 _worldPacket >> BankSlot1;
787 _worldPacket >> StackCount;
788}
789
791{
792 _worldPacket >> Banker;
793 _worldPacket >> BankTab;
794 _worldPacket >> BankSlot;
795 _worldPacket >> BankTab1;
796 _worldPacket >> BankSlot1;
797 _worldPacket >> StackCount;
798}
799
801{
802 _worldPacket >> Tab;
803}
804
806{
807 _worldPacket << int32(Tab);
808 _worldPacket << uint32(Entry.size());
809 _worldPacket.WriteBit(WeeklyBonusMoney.has_value());
810 _worldPacket.FlushBits();
811
812 for (GuildBankLogEntry const& logEntry : Entry)
813 {
814 _worldPacket << logEntry.PlayerGUID;
815 _worldPacket << uint32(logEntry.TimeOffset);
816 _worldPacket << int8(logEntry.EntryType);
817
818 _worldPacket.WriteBit(logEntry.Money.has_value());
819 _worldPacket.WriteBit(logEntry.ItemID.has_value());
820 _worldPacket.WriteBit(logEntry.Count.has_value());
821 _worldPacket.WriteBit(logEntry.OtherTab.has_value());
822 _worldPacket.FlushBits();
823
824 if (logEntry.Money.has_value())
825 _worldPacket << uint64(*logEntry.Money);
826
827 if (logEntry.ItemID.has_value())
828 _worldPacket << int32(*logEntry.ItemID);
829
830 if (logEntry.Count.has_value())
831 _worldPacket << int32(*logEntry.Count);
832
833 if (logEntry.OtherTab.has_value())
834 _worldPacket << int8(*logEntry.OtherTab);
835 }
836
837 if (WeeklyBonusMoney)
838 _worldPacket << uint64(*WeeklyBonusMoney);
839
840 return &_worldPacket;
841}
842
844{
845 _worldPacket >> Tab;
846}
847
849{
850 _worldPacket << int32(Tab);
851
852 _worldPacket.WriteBits(Text.length(), 14);
853 _worldPacket.FlushBits();
854
855 _worldPacket.WriteString(Text);
856
857 return &_worldPacket;
858}
859
861{
862 _worldPacket >> Tab;
863 TabText = _worldPacket.ReadString(_worldPacket.ReadBits(14));
864}
865
867{
868 _worldPacket >> GuildGUID;
869}
870
872{
873 data << int32(newsEvent.Id);
874 data << newsEvent.CompletedDate;
875 data << int32(newsEvent.Type);
876 data << int32(newsEvent.Flags);
877
878 for (std::size_t i = 0; i < newsEvent.Data.size(); ++i)
879 data << int32(newsEvent.Data[i]);
880
881 data << newsEvent.MemberGuid;
882 data << uint32(newsEvent.MemberList.size());
883
884 for (ObjectGuid memberGuid : newsEvent.MemberList)
885 data << memberGuid;
886
887 data.WriteBit(newsEvent.Item.has_value());
888 data.FlushBits();
889
890 if (newsEvent.Item)
891 data << *newsEvent.Item; // WorldPackets::Item::ItemInstance
892
893 return data;
894}
895
897{
898 _worldPacket << uint32(NewsEvents.size());
899 for (GuildNewsEvent const& newsEvent : NewsEvents)
900 _worldPacket << newsEvent;
901
902 return &_worldPacket;
903}
904
906{
907 _worldPacket >> GuildGUID;
908 _worldPacket >> NewsID;
909
910 NewsID = _worldPacket.ReadBit();
911}
912
914{
915 uint32 nameLen = _worldPacket.ReadBits(9);
916 NewMasterName = _worldPacket.ReadString(nameLen);
917}
918
920{
921 for (int32 i = 0; i < GUILD_CHALLENGES_TYPES; ++i)
922 _worldPacket << int32(CurrentCount[i]);
923
924 for (int32 i = 0; i < GUILD_CHALLENGES_TYPES; ++i)
925 _worldPacket << int32(MaxCount[i]);
926
927 for (int32 i = 0; i < GUILD_CHALLENGES_TYPES; ++i)
928 _worldPacket << int32(MaxLevelGold[i]);
929
930 for (int32 i = 0; i < GUILD_CHALLENGES_TYPES; ++i)
931 _worldPacket << int32(Gold[i]);
932
933 return &_worldPacket;
934}
935
937{
938 _worldPacket >> Vendor;
939 _worldPacket >> EStyle;
940 _worldPacket >> EColor;
941 _worldPacket >> BStyle;
942 _worldPacket >> BColor;
943 _worldPacket >> Bg;
944}
945
947{
948 _worldPacket << int32(Error);
949
950 return &_worldPacket;
951}
952
954{
955 AchievementIDs.resize(_worldPacket.read<uint32>());
956
957 for (uint32& achievementID : AchievementIDs)
958 _worldPacket >> achievementID;
959}
960
962{
963 _worldPacket << GuildGUID;
964 _worldPacket.WriteBits(GuildName.length(), 7);
965 _worldPacket.FlushBits();
966 _worldPacket.WriteString(GuildName);
967
968 return &_worldPacket;
969}
uint8_t uint8
Definition: Define.h:144
int8_t int8
Definition: Define.h:140
int32_t int32
Definition: Define.h:138
uint64_t uint64
Definition: Define.h:141
uint32_t uint32
Definition: Define.h:142
@ GUILD_BANK_MAX_TABS
Definition: Guild.h:54
#define GUILD_CHALLENGES_TYPES
Definition: Guild.h:263
uint32 const Entry[5]
void reserve(size_t ressize)
Definition: ByteBuffer.h:546
void WriteString(std::string const &str)
Definition: ByteBuffer.h:500
bool WriteBit(bool bit)
Definition: ByteBuffer.h:175
void WriteBits(std::size_t value, int32 bits)
Definition: ByteBuffer.h:203
void FlushBits()
Definition: ByteBuffer.h:155
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
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
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
WorldPacket _worldPacket
Definition: Packet.h:43
@ SMSG_QUERY_GUILD_INFO_RESPONSE
Definition: Opcodes.h:1779
ByteBuffer & operator<<(ByteBuffer &data, Movement::MonsterSplineFilterKey const &monsterSplineFilterKey)
std::vector< ObjectGuid > MemberList
Optional< Item::ItemInstance > Item
uint32 TabWithdrawItemLimit[GUILD_BANK_MAX_TABS]
Definition: GuildPackets.h:507
uint32 TabFlags[GUILD_BANK_MAX_TABS]
Definition: GuildPackets.h:506
Trinity::RaceMask< uint64 > RaceMask
Definition: GuildPackets.h:690
std::vector< uint32 > AchievementsRequired
Definition: GuildPackets.h:689
MythicPlus::DungeonScoreSummary DungeonScore
Definition: GuildPackets.h:121
GuildRosterProfessionData Profession[2]
Definition: GuildPackets.h:120