39 _worldPacket << ServerTime;
41 _worldPacket << float(NewSpeed);
42 _worldPacket <<
uint32(ServerTimeHolidayOffset);
43 _worldPacket <<
uint32(GameTimeHolidayOffset);
51 _worldPacket <<
int32(Quantity);
52 _worldPacket <<
uint32(Flags);
53 _worldPacket <<
uint32(Toasts.size());
56 _worldPacket << toast;
58 _worldPacket.WriteBit(WeeklyQuantity.has_value());
59 _worldPacket.WriteBit(TrackedQuantity.has_value());
60 _worldPacket.WriteBit(MaxQuantity.has_value());
61 _worldPacket.WriteBit(TotalEarned.has_value());
62 _worldPacket.WriteBit(SuppressChatLog);
63 _worldPacket.WriteBit(QuantityChange.has_value());
64 _worldPacket.WriteBit(QuantityGainSource.has_value());
65 _worldPacket.WriteBit(QuantityLostSource.has_value());
66 _worldPacket.WriteBit(FirstCraftOperationID.has_value());
67 _worldPacket.WriteBit(NextRechargeTime.has_value());
68 _worldPacket.WriteBit(RechargeCycleStartTime.has_value());
69 _worldPacket.WriteBit(OverflownCurrencyID.has_value());
70 _worldPacket.FlushBits();
73 _worldPacket <<
int32(*WeeklyQuantity);
76 _worldPacket <<
int32(*TrackedQuantity);
79 _worldPacket <<
int32(*MaxQuantity);
82 _worldPacket <<
int32(*TotalEarned);
85 _worldPacket <<
int32(*QuantityChange);
87 if (QuantityGainSource)
88 _worldPacket <<
int32(*QuantityGainSource);
90 if (QuantityLostSource)
91 _worldPacket <<
int32(*QuantityLostSource);
93 if (FirstCraftOperationID)
94 _worldPacket <<
uint32(*FirstCraftOperationID);
97 _worldPacket << *NextRechargeTime;
99 if (RechargeCycleStartTime)
100 _worldPacket << *RechargeCycleStartTime;
102 if (OverflownCurrencyID)
103 _worldPacket <<
int32(*OverflownCurrencyID);
105 return &_worldPacket;
119 _worldPacket <<
int32(data.Type);
120 _worldPacket <<
int32(data.Quantity);
122 _worldPacket.WriteBit(data.WeeklyQuantity.has_value());
123 _worldPacket.WriteBit(data.MaxWeeklyQuantity.has_value());
124 _worldPacket.WriteBit(data.TrackedQuantity.has_value());
125 _worldPacket.WriteBit(data.MaxQuantity.has_value());
126 _worldPacket.WriteBit(data.TotalEarned.has_value());
127 _worldPacket.WriteBit(data.NextRechargeTime.has_value());
128 _worldPacket.WriteBit(data.RechargeCycleStartTime.has_value());
129 _worldPacket.WriteBits(
uint8(data.Flags), 5);
130 _worldPacket.FlushBits();
132 if (data.WeeklyQuantity)
133 _worldPacket <<
uint32(*data.WeeklyQuantity);
134 if (data.MaxWeeklyQuantity)
135 _worldPacket <<
uint32(*data.MaxWeeklyQuantity);
136 if (data.TrackedQuantity)
137 _worldPacket <<
uint32(*data.TrackedQuantity);
138 if (data.MaxQuantity)
139 _worldPacket <<
int32(*data.MaxQuantity);
140 if (data.TotalEarned)
141 _worldPacket <<
int32(*data.TotalEarned);
142 if (data.NextRechargeTime)
143 _worldPacket << *data.NextRechargeTime;
144 if (data.RechargeCycleStartTime)
145 _worldPacket << *data.RechargeCycleStartTime;
148 return &_worldPacket;
153 _worldPacket >> ViolenceLvl;
158 _worldPacket << SequenceIndex;
160 return &_worldPacket;
165 _worldPacket >> SequenceIndex;
166 _worldPacket >> ClientTime;
171 _worldPacket <<
Time;
173 return &_worldPacket;
178 _worldPacket <<
uint32(MovieID);
180 return &_worldPacket;
184 _worldPacket <<
uint32(CinematicID);
185 _worldPacket << ConversationGuid;
187 return &_worldPacket;
194 return &_worldPacket;
199 Action = _worldPacket.ReadBits(2);
202 _worldPacket >> TutorialBit;
207 _worldPacket <<
uint32(DifficultyID);
209 _worldPacket.WriteBit(XRealmPvpAlert);
210 _worldPacket.WriteBit(BlockExitingLoadingScreen);
211 _worldPacket.WriteBit(RestrictedAccountMaxLevel.has_value());
212 _worldPacket.WriteBit(RestrictedAccountMaxMoney.has_value());
213 _worldPacket.WriteBit(InstanceGroupSize.has_value());
215 if (RestrictedAccountMaxLevel)
216 _worldPacket <<
uint32(*RestrictedAccountMaxLevel);
218 if (RestrictedAccountMaxMoney)
219 _worldPacket <<
uint64(*RestrictedAccountMaxMoney);
221 if (InstanceGroupSize)
222 _worldPacket <<
uint32(*InstanceGroupSize);
224 _worldPacket.FlushBits();
226 return &_worldPacket;
231 _worldPacket >> DifficultyID;
236 _worldPacket >> DifficultyID;
237 _worldPacket >> Legacy;
242 _worldPacket <<
int32(DifficultyID);
243 return &_worldPacket;
248 _worldPacket <<
int32(DifficultyID);
249 _worldPacket <<
uint8(Legacy);
250 return &_worldPacket;
255 _worldPacket << Remaining;
257 return &_worldPacket;
262 _worldPacket << MapID;
265 return &_worldPacket;
270 _worldPacket << PlayerGUID;
272 return &_worldPacket;
277 _worldPacket >> CorpseGUID;
282 CheckInstance = _worldPacket.ReadBit();
287 _worldPacket.
WriteBit(IsGossipTriggered);
288 _worldPacket.FlushBits();
290 _worldPacket <<
uint32(CemeteryID.size());
291 for (
uint32 cemetery : CemeteryID)
292 _worldPacket << cemetery;
294 return &_worldPacket;
299 _worldPacket >> Resurrecter;
310 _worldPacket <<
uint32(WeatherID);
311 _worldPacket << float(Intensity);
312 _worldPacket.WriteBit(Abrupt);
314 _worldPacket.FlushBits();
315 return &_worldPacket;
320 _worldPacket >> As<uint8>(StandState);
325 _worldPacket <<
uint8(State);
326 _worldPacket <<
uint32(AnimKitID);
328 return &_worldPacket;
333 _worldPacket <<
Unit;
334 _worldPacket.WriteBits(Tier, 3);
335 _worldPacket.FlushBits();
337 return &_worldPacket;
342 _worldPacket << BinderID;
343 _worldPacket <<
uint32(AreaID);
345 return &_worldPacket;
351 _worldPacket <<
int32(Value);
352 _worldPacket <<
int32(MaxValue);
353 _worldPacket <<
int32(Scale);
354 _worldPacket <<
int32(SpellID);
355 _worldPacket.WriteBit(Paused);
356 _worldPacket.FlushBits();
358 return &_worldPacket;
364 _worldPacket.WriteBit(Paused);
365 _worldPacket.FlushBits();
367 return &_worldPacket;
374 return &_worldPacket;
379 _worldPacket <<
int32(AreaID);
380 _worldPacket <<
int32(Experience);
382 return &_worldPacket;
388 _worldPacket <<
int32(HealthDelta);
390 for (
int32 power : PowerDelta)
391 _worldPacket << power;
393 for (
int32 stat : StatDelta)
394 _worldPacket << stat;
396 _worldPacket <<
int32(NumNewTalents);
397 _worldPacket <<
int32(NumNewPvpTalentSlots);
399 return &_worldPacket;
404 _worldPacket <<
uint32(SoundKitID);
406 return &_worldPacket;
411 bool hasPartyIndex = _worldPacket.ReadBit();
415 _worldPacket >> PartyIndex.emplace();
420 _worldPacket << Roller;
421 _worldPacket << RollerWowAccount;
422 _worldPacket <<
int32(Min);
424 _worldPacket <<
int32(Result);
426 return &_worldPacket;
431 _worldPacket <<
uint32(CustomizationFeatureMask);
433 return &_worldPacket;
439 data <<
uint16(phaseShiftDataPhase.
Id);
449 data << phaseShiftDataPhase;
457 _worldPacket << Phaseshift;
458 _worldPacket <<
uint32(VisibleMapIDs.size() * 2);
459 for (
uint16 visibleMapId : VisibleMapIDs)
460 _worldPacket <<
uint16(visibleMapId);
462 _worldPacket <<
uint32(PreloadMapIDs.size() * 2);
463 for (
uint16 preloadMapId : PreloadMapIDs)
464 _worldPacket <<
uint16(preloadMapId);
466 _worldPacket <<
uint32(UiMapPhaseIDs.size() * 2);
467 for (
uint16 uiMapPhaseId : UiMapPhaseIDs)
468 _worldPacket <<
uint16(uiMapPhaseId);
470 return &_worldPacket;
475 _worldPacket <<
int32(AreaID);
477 return &_worldPacket;
482 _worldPacket <<
int32(Percent);
484 return &_worldPacket;
489 _worldPacket >> ObjectGUID;
494 _worldPacket >> ObjectGUID;
499 _worldPacket <<
int32(SoundKitID);
500 _worldPacket << SourceObjectGUID;
501 _worldPacket << TargetObjectGUID;
503 _worldPacket <<
int32(BroadcastTextID);
505 return &_worldPacket;
510 _worldPacket <<
int32(SoundKitID);
511 _worldPacket << SourceObjectGuid;
512 _worldPacket <<
int32(BroadcastTextID);
514 return &_worldPacket;
519 _worldPacket << SourceObjectGUID;
520 _worldPacket <<
int32(SoundKitID);
522 return &_worldPacket;
527 _worldPacket << SourceObjectGUID;
529 return &_worldPacket;
534 Enable = _worldPacket.ReadBit();
539 CUFProfiles.resize(_worldPacket.read<
uint32>());
540 for (std::unique_ptr<CUFProfile>& cufProfile : CUFProfiles)
542 cufProfile = std::make_unique<CUFProfile>();
544 uint8 strLen = _worldPacket.ReadBits(7);
548 cufProfile->BoolOptions.set(option, _worldPacket.ReadBit());
551 _worldPacket >> cufProfile->FrameHeight;
552 _worldPacket >> cufProfile->FrameWidth;
554 _worldPacket >> cufProfile->SortBy;
555 _worldPacket >> cufProfile->HealthText;
557 _worldPacket >> cufProfile->TopPoint;
558 _worldPacket >> cufProfile->BottomPoint;
559 _worldPacket >> cufProfile->LeftPoint;
561 _worldPacket >> cufProfile->TopOffset;
562 _worldPacket >> cufProfile->BottomOffset;
563 _worldPacket >> cufProfile->LeftOffset;
565 cufProfile->ProfileName = _worldPacket.ReadString(strLen);
571 _worldPacket <<
uint32(CUFProfiles.size());
573 for (
CUFProfile const* cufProfile : CUFProfiles)
575 _worldPacket.WriteBits(cufProfile->ProfileName.size(), 7);
579 _worldPacket.WriteBit(cufProfile->BoolOptions[option]);
582 _worldPacket << cufProfile->FrameHeight;
583 _worldPacket << cufProfile->FrameWidth;
585 _worldPacket << cufProfile->SortBy;
586 _worldPacket << cufProfile->HealthText;
588 _worldPacket << cufProfile->TopPoint;
589 _worldPacket << cufProfile->BottomPoint;
590 _worldPacket << cufProfile->LeftPoint;
592 _worldPacket << cufProfile->TopOffset;
593 _worldPacket << cufProfile->BottomOffset;
594 _worldPacket << cufProfile->LeftOffset;
596 _worldPacket.WriteString(cufProfile->ProfileName);
599 return &_worldPacket;
604 _worldPacket <<
Unit;
605 _worldPacket <<
uint16(AnimKitID);
607 return &_worldPacket;
612 _worldPacket <<
Unit;
613 _worldPacket <<
uint16(AnimKitID);
615 return &_worldPacket;
620 _worldPacket <<
Unit;
621 _worldPacket <<
uint16(AnimKitID);
623 return &_worldPacket;
628 _worldPacket <<
Unit;
629 _worldPacket <<
uint16(AnimKitID);
631 return &_worldPacket;
636 _worldPacket << UnitGUID;
637 _worldPacket.
WriteBit(PlayHoverAnim);
638 _worldPacket.FlushBits();
640 return &_worldPacket;
645 EnablePVP = _worldPacket.ReadBit();
650 Enable = _worldPacket.ReadBit();
655 _worldPacket.
WriteBit(IsFullUpdate);
656 _worldPacket.FlushBits();
661 _worldPacket <<
uint32(Heirlooms->size());
662 _worldPacket <<
uint32(Heirlooms->size());
664 for (
auto const& item : *Heirlooms)
665 _worldPacket <<
int32(item.first);
667 for (
auto const&
flags : *Heirlooms)
670 return &_worldPacket;
675 SpellVisualKitIDs.resize(_worldPacket.read<
uint32>());
676 _worldPacket >> SequenceVariation;
677 for (
int32& spellVisualKitId : SpellVisualKitIDs)
678 _worldPacket >> spellVisualKitId;
683 _worldPacket << UnitGUID;
684 _worldPacket <<
uint32(SpellVisualKitIDs.size());
685 _worldPacket <<
int32(SequenceVariation);
686 if (!SpellVisualKitIDs.empty())
687 _worldPacket.append(SpellVisualKitIDs.data(), SpellVisualKitIDs.size());
689 return &_worldPacket;
694 _worldPacket << Guid;
695 _worldPacket <<
int32(Threshold);
696 _worldPacket <<
int32(ItemID);
698 return &_worldPacket;
703 Enable = _worldPacket.ReadBit();
708 _worldPacket <<
int32(AreaLightID);
709 _worldPacket <<
int32(OverrideLightID);
710 _worldPacket <<
int32(TransitionMilliseconds);
712 return &_worldPacket;
717 _worldPacket <<
uint32(Error);
718 _worldPacket.WriteBit(Arg.has_value());
719 _worldPacket.WriteBit(Arg2.has_value());
720 _worldPacket.FlushBits();
723 _worldPacket <<
int32(*Arg);
726 _worldPacket <<
int32(*Arg2);
728 return &_worldPacket;
733 _worldPacket.
WriteBit(IsFullUpdate);
734 _worldPacket <<
uint32(Mounts->size());
736 for (
auto [spellId,
flags] : *Mounts)
738 _worldPacket <<
int32(spellId);
739 _worldPacket.WriteBits(
flags, 4);
742 _worldPacket.FlushBits();
744 return &_worldPacket;
749 _worldPacket >> MountSpellID;
750 IsFavorite = _worldPacket.ReadBit();
755 _worldPacket >> SourceGuid;
760 _worldPacket << TotalTime;
762 _worldPacket << TimeLeft;
763 _worldPacket.WriteBit(PlayerGuid.has_value());
764 _worldPacket.FlushBits();
767 _worldPacket << *PlayerGuid;
769 return &_worldPacket;
774 _worldPacket >> As<int32>(TimerType);
779 _worldPacket >> ConversationGUID;
780 _worldPacket >> LineID;
785 _worldPacket <<
int32(UISplashScreenID);
787 return &_worldPacket;
792 _worldPacket <<
uint64(Quantity);
794 _worldPacket <<
uint32(QuestID);
796 _worldPacket.WriteBit(Mailed);
798 _worldPacket.WriteBit(IsSecondaryResult);
804 _worldPacket <<
Item;
805 _worldPacket <<
int32(LootSpec);
809 _worldPacket <<
uint32(CurrencyID);
815 _worldPacket.FlushBits();
817 return &_worldPacket;
822 _worldPacket << Bits<1>(IsFullUpdate);
823 _worldPacket <<
uint32(WarbandScenes->size());
824 _worldPacket <<
uint32(WarbandScenes->size());
825 _worldPacket <<
uint32(WarbandScenes->size());
827 for (
auto [warbandSceneId, _] : *WarbandScenes)
828 _worldPacket <<
uint32(warbandSceneId);
830 for (
auto [_, data] : *WarbandScenes)
833 for (
auto [_, data] : *WarbandScenes)
836 _worldPacket.FlushBits();
838 return &_worldPacket;
#define MAX_ACCOUNT_TUTORIAL_VALUES
constexpr std::underlying_type< E >::type AsUnderlyingType(E enumValue)
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
TaggedPosition< Position::XYZ > BindPosition
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 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
boost::beast::http::response< ResponseBody > Response
static constexpr uint32 Timer
ByteBuffer & operator<<(ByteBuffer &data, Movement::MonsterSplineFilterKey const &monsterSplineFilterKey)
Represents a CompactUnitFrame profile.
std::vector< PhaseShiftDataPhase > Phases