TrinityCore
QuestPackets.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 QuestPackets_h__
19#define QuestPackets_h__
20
21#include "Packet.h"
22#include "ItemPacketsCommon.h"
23#include "LootItemType.h"
24#include "NPCPackets.h"
25#include "ObjectGuid.h"
26#include "QuestDef.h"
27#include <array>
28
29namespace WorldPackets
30{
31 namespace Quest
32 {
34 {
35 public:
37
38 void Read() override;
39
41 };
42
43 // Empty packet, server replies with quest giver status of visible creatures
45 {
46 public:
48
49 void Read() override { }
50 };
51
53 {
56 : Guid(guid), Status(status) { }
57
60 };
61
62 class QuestGiverStatus final : public ServerPacket
63 {
64 public:
66
67 WorldPacket const* Write() override;
68
70 };
71
73 {
74 public:
76
77 WorldPacket const* Write() override;
78
79 std::vector<QuestGiverInfo> QuestGiver;
80 };
81
82 class QuestGiverHello final : public ClientPacket
83 {
84 public:
86
87 void Read() override;
88
90 };
91
92 class QueryQuestInfo final : public ClientPacket
93 {
94 public:
96
97 void Read() override;
98
101 };
102
104 {
108 };
109
111 {
115 };
116
118 {
121 std::string_view Text;
122 };
123
125 {
127 int32 QuestType = 0; // Accepted values: 0, 1 or 2. 0 == IsAutoComplete() (skip objectives/details)
130 int32 QuestSortID = 0; // zone or sort to display in quest log
133 int32 RewardNextQuest = 0; // client will request this quest from NPC, if not 0
134 int32 RewardXPDifficulty = 0; // used for calculating rewarded experience
135 float RewardXPMultiplier = 1.0f;
136 int32 RewardMoney = 0; // reward money (below max lvl)
140 std::vector<QuestCompleteDisplaySpell> RewardDisplaySpell; // reward spell, this spell will be displayed (icon)
143 float RewardKillHonor = 0.0f;
153 float POIx = 0.0f;
154 float POIy = 0.0f;
157 std::string LogTitle;
158 std::string LogDescription;
159 std::string QuestDescription;
160 std::string AreaDescription;
161 int32 RewardTitle = 0; // new 2.4.0, player gets this title (id from CharTitles)
163 int32 RewardSkillLineID = 0; // reward skill id
164 int32 RewardNumSkillUps = 0; // reward skill points
165 int32 PortraitGiver = 0; // quest giver entry ?
168 int32 PortraitTurnIn = 0; // quest turn in entry ?
169 std::string PortraitGiverText;
170 std::string PortraitGiverName;
174 int32 RewardFactionFlags = 0; // rep mask (unsure on what it does)
179 std::span<int32 const> TreasurePickerID;
180 std::span<int32 const> TreasurePickerID2; // unknown purpose, used only sometimes and only if TreasurePickerID is empty
184 int32 QuestGiverCreatureID = 0; // used to select ConditionalQuestText
185 std::vector<QuestObjective> Objectives;
186 std::vector<ConditionalQuestText> ConditionalQuestDescription;
187 std::vector<ConditionalQuestText> ConditionalQuestCompletionLog;
200 bool ResetByScheduler = false;
201 };
202
204 {
205 public:
207
208 WorldPacket const* Write() override;
209
210 bool Allow = false;
213 };
214
216 {
217 public:
219
220 WorldPacket const* Write() override;
221
228 };
229
231 {
232 public:
234
235 WorldPacket const* Write() override;
236
240 };
241
243 {
244 public:
246
247 WorldPacket const* Write() override;
248
251 };
252
254 {
258 };
259
261 {
266 };
267
269 {
274 };
275
277 {
287 std::array<int32, QUEST_REWARD_DISPLAY_SPELL_COUNT> SpellCompletionDisplayID = { };
291 std::span<int32 const> TreasurePickerID;
292 std::array<QuestChoiceItem, QUEST_REWARD_CHOICES_COUNT> ChoiceItems = { };
293 std::array<QuestRewardItem, QUEST_REWARD_ITEM_COUNT> Items = { };
294 std::array<int32, QUEST_REWARD_REPUTATIONS_COUNT> FactionID = { };
295 std::array<int32, QUEST_REWARD_REPUTATIONS_COUNT> FactionValue = { };
296 std::array<int32, QUEST_REWARD_REPUTATIONS_COUNT> FactionOverride = { };
297 std::array<int32, QUEST_REWARD_REPUTATIONS_COUNT> FactionCapIn = { };
298 std::array<QuestRewardCurrency, QUEST_REWARD_CURRENCY_COUNT> Currencies = { };
299 bool IsBoostSpell = false;
300 };
301
303 {
304 QuestDescEmote(int32 type = 0, uint32 delay = 0) : Type(type), Delay(delay) {}
307 };
308
310 {
314 bool AutoLaunched = false;
315 bool ResetByScheduler = false;
318 std::vector<QuestDescEmote> Emotes;
319 std::array<int32, 4> QuestFlags = { };
321 };
322
324 {
325 public:
327
328 WorldPacket const* Write() override;
329
335 std::string QuestTitle;
336 std::string RewardText;
337 std::string PortraitGiverText;
338 std::string PortraitGiverName;
341 std::vector<ConditionalQuestText> ConditionalRewardText;
344 };
345
347 {
348 public:
350
351 void Read() override;
352
356 };
357
359 {
360 public:
362
363 WorldPacket const* Write() override;
364
370 bool UseQuestReward = false;
371 bool LaunchGossip = false;
372 bool LaunchQuest = false;
373 bool HideChatMessage = false;
375 };
376
378 {
379 public:
381
382 void Read() override;
383
384 ObjectGuid QuestGiverGUID; // NPC / GameObject guid for normal quest completion. Player guid for self-completed quests
386 bool FromScript = false; // 0 - standart complete quest mode with npc, 1 - auto-complete mode
387 };
388
390 {
391 public:
393
394 void Read() override;
395
397 };
398
400 {
405 };
406
408 {
409 public:
411
412 WorldPacket const* Write() override;
413
418 std::array<uint32, 4> QuestFlags = { };
421 std::vector<QuestObjectiveSimple> Objectives;
422 std::vector<QuestDescEmote> DescEmotes;
423 std::vector<int32> LearnSpells;
432 std::string PortraitGiverText;
433 std::string PortraitGiverName;
436 std::string QuestTitle;
437 std::string LogDescription;
438 std::string DescriptionText;
439 std::vector<ConditionalQuestText> ConditionalDescriptionText;
440 bool DisplayPopup = false;
441 bool StartCheat = false;
442 bool AutoLaunched = false;
443 bool FromContentPush = false;
444 bool ResetByScheduler = false;
445 };
446
448 {
449 QuestObjectiveCollect(int32 objectID = 0, int32 amount = 0, uint32 flags = 0) : ObjectID(objectID), Amount(amount), Flags(flags) { }
453 };
454
456 {
457 QuestCurrency(int32 currencyID = 0, int32 amount = 0) : CurrencyID(currencyID), Amount(amount) { }
460 };
461
463 {
464 public:
466
467 WorldPacket const* Write() override;
468
474 bool AutoLaunched = false;
475 bool ResetByScheduler = false;
478 std::vector<QuestObjectiveCollect> Collect;
479 std::vector<QuestCurrency> Currency;
482 std::array<uint32, 4> QuestFlags = { };
483 std::string QuestTitle;
484 std::string CompletionText;
485 std::vector<ConditionalQuestText> ConditionalCompletionText;
486 };
487
489 {
490 public:
492
493 void Read() override;
494
497 };
498
500 {
501 public:
503
504 void Read() override;
505
508 bool RespondToGiver = false;
509 };
510
512 {
513 public:
515
516 void Read() override;
517
520 bool StartCheat = false;
521 };
522
524 {
525 public:
527
528 void Read() override;
529
531 };
532
534 {
535 public:
537
538 WorldPacket const* Write() override;
539
543 std::vector<NPC::ClientGossipText> QuestDataText;
544 std::string Greeting;
545 };
546
548 {
549 public:
551
552 WorldPacket const* Write() override;
553
555 };
556
558 {
559 public:
561
562 WorldPacket const* Write() override;
563
566 std::string QuestTitle;
567 };
568
569 class QuestConfirmAccept final : public ClientPacket
570 {
571 public:
573
574 void Read() override;
575
577 };
578
580 {
581 public:
583
584 WorldPacket const* Write() override;
585
588 std::string QuestTitle;
589 };
590
591 class QuestLogFull final : public ServerPacket
592 {
593 public:
595
596 WorldPacket const* Write() override { return &_worldPacket; }
597 };
598
599 class QuestPushResult final : public ClientPacket
600 {
601 public:
603
604 void Read() override;
605
609 };
610
612 {
613 public:
615
616 WorldPacket const* Write() override;
617
620 bool SendErrorMessage = false;
621 std::string ReasonText;
622 };
623
625 {
626 public:
628
629 WorldPacket const* Write() override;
630
632 };
633
635 {
636 public:
638
639 WorldPacket const* Write() override;
640
643 };
644
645 class PushQuestToParty final : public ClientPacket
646 {
647 public:
649
650 void Read() override;
651
653 };
654
655 class DailyQuestsReset final : public ServerPacket
656 {
657 public:
659
660 WorldPacket const* Write() override;
661
663 };
664
665 class QuestForceRemoved final : public ServerPacket
666 {
667 public:
669
670 WorldPacket const* Write() override;
671
673 };
674
676 {
677 public:
679
680 void Read() override { }
681 };
682
684 {
685 WorldQuestUpdateInfo(time_t lastUpdate, uint32 questID, uint32 timer, int32 variableID, int32 value) :
686 LastUpdate(lastUpdate), QuestID(questID), Timer(timer), VariableID(variableID), Value(value) { }
690 // WorldState
693 };
694
696 {
697 public:
699
700 WorldPacket const* Write() override;
701
702 std::vector<WorldQuestUpdateInfo> WorldQuestUpdates;
703 };
704
706 {
709 };
710
712 {
721 std::vector<PlayerChoiceResponseRewardEntry> Items;
722 std::vector<PlayerChoiceResponseRewardEntry> Currencies;
723 std::vector<PlayerChoiceResponseRewardEntry> Factions;
724 std::vector<PlayerChoiceResponseRewardEntry> ItemChoices;
725 };
726
728 {
735 };
736
738 {
748 std::string_view Answer;
749 std::string_view Header;
750 std::string_view SubHeader;
751 std::string_view ButtonTooltip;
752 std::string_view Description;
753 std::string_view Confirmation;
757 };
758
760 {
761 public:
763
764 WorldPacket const* Write() override;
765
773 std::string_view Question;
774 std::string_view PendingChoiceText;
775 std::vector<PlayerChoiceResponse> Responses;
776 bool InfiniteRange = false;
777 bool HideWarboardHeader = false;
779 bool Unknown_1115_1 = false;
780 bool Unknown_1115_2 = false;
781 };
782
783 class ChoiceResponse final : public ClientPacket
784 {
785 public:
787
788 void Read() override;
789
792 bool IsReroll = false;
793 };
794
796 {
797 public:
799
800 WorldPacket const* Write() override;
801
803 std::vector<uint32> QuestLineXQuestIDs;
804 std::vector<uint32> QuestIDs;
805 std::vector<uint32> QuestLineIDs;
806 };
807
809 {
810 public:
812
813 void Read() override;
814
816 };
817
819 {
823 };
824
826 {
827 public:
829
830 void Read() override;
831
832 std::vector<SpawnTrackingRequestInfo> SpawnTrackingRequests;
833 };
834
836 {
842 bool Visible = true;
843 };
844
846 {
847 public:
849
850 WorldPacket const* Write() override;
851
852 std::vector<SpawnTrackingResponseInfo> SpawnTrackingResponses;
853 };
854
856 {
857 public:
859
860 WorldPacket const* Write() override;
861
863 };
864 }
865}
866
867#endif // QuestPackets_h__
uint8_t uint8
Definition: Define.h:150
int64_t int64
Definition: Define.h:143
int32_t int32
Definition: Define.h:144
uint64_t uint64
Definition: Define.h:147
#define UI64LIT(N)
Definition: Define.h:133
uint16_t uint16
Definition: Define.h:149
uint32_t uint32
Definition: Define.h:148
uint16 flags
Definition: DisableMgr.cpp:49
LootItemType
Definition: LootItemType.h:24
std::optional< T > Optional
Optional helper class to wrap optional values within.
Definition: Optional.h:25
#define QUEST_ITEM_DROP_COUNT
Definition: QuestDef.h:48
#define QUEST_REWARD_ITEM_COUNT
Definition: QuestDef.h:50
#define QUEST_REWARD_REPUTATIONS_COUNT
Definition: QuestDef.h:52
QuestGiverStatus
Definition: QuestDef.h:158
#define QUEST_REWARD_CURRENCY_COUNT
Definition: QuestDef.h:54
#define QUEST_REWARD_CHOICES_COUNT
Definition: QuestDef.h:49
QuestFlags
Definition: QuestDef.h:216
QuestType
WorldPacket _worldPacket
Definition: Packet.h:43
ChoiceResponse(WorldPacket &&packet)
Definition: QuestPackets.h:786
WorldPacket const * Write() override
WorldPackets::Duration< Seconds > Duration
Definition: QuestPackets.h:772
std::vector< PlayerChoiceResponse > Responses
Definition: QuestPackets.h:775
WorldPacket const * Write() override
WorldPacket const * Write() override
PushQuestToParty(WorldPacket &&packet)
Definition: QuestPackets.h:648
WorldPacket const * Write() override
QueryQuestInfo(WorldPacket &&packet)
Definition: QuestPackets.h:95
QuestConfirmAccept(WorldPacket &&packet)
Definition: QuestPackets.h:572
WorldPacket const * Write() override
QuestGiverCloseQuest(WorldPacket &&packet)
Definition: QuestPackets.h:392
QuestGiverHello(WorldPacket &&packet)
Definition: QuestPackets.h:85
WorldPacket const * Write() override
std::vector< ConditionalQuestText > ConditionalRewardText
Definition: QuestPackets.h:341
QuestGiverQueryQuest(WorldPacket &&packet)
Definition: QuestPackets.h:502
WorldPackets::Item::ItemInstance ItemReward
Definition: QuestPackets.h:374
WorldPacket const * Write() override
std::vector< ConditionalQuestText > ConditionalDescriptionText
Definition: QuestPackets.h:439
std::vector< QuestDescEmote > DescEmotes
Definition: QuestPackets.h:422
std::vector< QuestObjectiveSimple > Objectives
Definition: QuestPackets.h:421
WorldPacket const * Write() override
WorldPacket const * Write() override
std::vector< NPC::ClientGossipText > QuestDataText
Definition: QuestPackets.h:543
std::vector< QuestCurrency > Currency
Definition: QuestPackets.h:479
std::vector< ConditionalQuestText > ConditionalCompletionText
Definition: QuestPackets.h:485
WorldPacket const * Write() override
std::vector< QuestObjectiveCollect > Collect
Definition: QuestPackets.h:478
std::vector< QuestGiverInfo > QuestGiver
Definition: QuestPackets.h:79
WorldPacket const * Write() override
QuestGiverStatusQuery(WorldPacket &&packet)
Definition: QuestPackets.h:36
WorldPacket const * Write() override
WorldPacket const * Write() override
Definition: QuestPackets.h:596
QuestLogRemoveQuest(WorldPacket &&packet)
Definition: QuestPackets.h:526
WorldPacket const * Write() override
std::vector< SpawnTrackingResponseInfo > SpawnTrackingResponses
Definition: QuestPackets.h:852
WorldPacket const * Write() override
QuestPushResult(WorldPacket &&packet)
Definition: QuestPackets.h:602
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
std::vector< SpawnTrackingRequestInfo > SpawnTrackingRequests
Definition: QuestPackets.h:832
SpawnTrackingUpdate(WorldPacket &&packet)
Definition: QuestPackets.h:828
WorldPacket const * Write() override
WorldPacket const * Write() override
std::vector< WorldQuestUpdateInfo > WorldQuestUpdates
Definition: QuestPackets.h:702
@ SMSG_DISPLAY_PLAYER_CHOICE
Definition: Opcodes.h:1283
@ SMSG_QUEST_UPDATE_ADD_CREDIT
Definition: Opcodes.h:1908
@ SMSG_QUEST_GIVER_INVALID_QUEST
Definition: Opcodes.h:1889
@ SMSG_QUEST_GIVER_QUEST_COMPLETE
Definition: Opcodes.h:1891
@ SMSG_UI_MAP_QUEST_LINES_RESPONSE
Definition: Opcodes.h:2120
@ SMSG_QUERY_QUEST_INFO_RESPONSE
Definition: Opcodes.h:1883
@ SMSG_QUEST_GIVER_STATUS
Definition: Opcodes.h:1896
@ SMSG_QUEST_POI_UPDATE_RESPONSE
Definition: Opcodes.h:1902
@ SMSG_FORCE_SPAWN_TRACKING_UPDATE
Definition: Opcodes.h:1330
@ SMSG_QUEST_UPDATE_COMPLETE
Definition: Opcodes.h:1911
@ SMSG_QUEST_GIVER_REQUEST_ITEMS
Definition: Opcodes.h:1895
@ SMSG_QUEST_GIVER_STATUS_MULTIPLE
Definition: Opcodes.h:1897
@ SMSG_QUEST_UPDATE_FAILED_TIMER
Definition: Opcodes.h:1913
@ SMSG_QUEST_FORCE_REMOVED
Definition: Opcodes.h:1888
@ SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE
Definition: Opcodes.h:1909
@ SMSG_WORLD_QUEST_UPDATE_RESPONSE
Definition: Opcodes.h:2179
@ SMSG_DAILY_QUESTS_RESET
Definition: Opcodes.h:1267
@ SMSG_QUEST_GIVER_OFFER_REWARD_MESSAGE
Definition: Opcodes.h:1890
@ SMSG_QUEST_GIVER_QUEST_LIST_MESSAGE
Definition: Opcodes.h:1894
@ SMSG_QUEST_GIVER_QUEST_FAILED
Definition: Opcodes.h:1893
@ SMSG_QUEST_GIVER_QUEST_DETAILS
Definition: Opcodes.h:1892
@ SMSG_QUEST_UPDATE_ADD_PVP_CREDIT
Definition: Opcodes.h:1910
@ SMSG_QUEST_CONFIRM_ACCEPT
Definition: Opcodes.h:1887
@ SMSG_QUEST_LOG_FULL
Definition: Opcodes.h:1899
@ SMSG_QUEST_PUSH_RESULT
Definition: Opcodes.h:1903
@ CMSG_QUEST_GIVER_CLOSE_QUEST
Definition: Opcodes.h:699
@ CMSG_QUEST_CONFIRM_ACCEPT
Definition: Opcodes.h:696
@ CMSG_QUEST_GIVER_QUERY_QUEST
Definition: Opcodes.h:702
@ CMSG_QUEST_GIVER_REQUEST_REWARD
Definition: Opcodes.h:703
@ CMSG_UI_MAP_QUEST_LINES_REQUEST
Definition: Opcodes.h:901
@ CMSG_QUEST_GIVER_COMPLETE_QUEST
Definition: Opcodes.h:700
@ CMSG_PUSH_QUEST_TO_PARTY
Definition: Opcodes.h:667
@ CMSG_QUERY_QUEST_INFO
Definition: Opcodes.h:687
@ CMSG_QUEST_GIVER_HELLO
Definition: Opcodes.h:701
@ CMSG_QUEST_GIVER_CHOOSE_REWARD
Definition: Opcodes.h:698
@ CMSG_REQUEST_WORLD_QUEST_UPDATE
Definition: Opcodes.h:768
@ CMSG_QUEST_GIVER_ACCEPT_QUEST
Definition: Opcodes.h:697
@ CMSG_QUEST_PUSH_RESULT
Definition: Opcodes.h:708
@ CMSG_QUEST_GIVER_STATUS_QUERY
Definition: Opcodes.h:705
@ CMSG_QUEST_LOG_REMOVE_QUEST
Definition: Opcodes.h:706
@ CMSG_QUEST_GIVER_STATUS_MULTIPLE_QUERY
Definition: Opcodes.h:704
@ CMSG_SPAWN_TRACKING_UPDATE
Definition: Opcodes.h:851
@ CMSG_CHOICE_RESPONSE
Definition: Opcodes.h:243
STL namespace.
std::vector< PlayerChoiceResponseRewardEntry > Factions
Definition: QuestPackets.h:723
std::vector< PlayerChoiceResponseRewardEntry > ItemChoices
Definition: QuestPackets.h:724
std::vector< PlayerChoiceResponseRewardEntry > Currencies
Definition: QuestPackets.h:722
std::vector< PlayerChoiceResponseRewardEntry > Items
Definition: QuestPackets.h:721
Optional< PlayerChoiceResponseReward > Reward
Definition: QuestPackets.h:754
Optional< PlayerChoiceResponseMawPower > MawPower
Definition: QuestPackets.h:756
Optional< QuestRewardContextFlags > ContextFlags
Definition: QuestPackets.h:265
QuestCurrency(int32 currencyID=0, int32 amount=0)
Definition: QuestPackets.h:457
QuestDescEmote(int32 type=0, uint32 delay=0)
Definition: QuestPackets.h:304
QuestGiverInfo(ObjectGuid const &guid, ::QuestGiverStatus status)
Definition: QuestPackets.h:55
std::vector< QuestDescEmote > Emotes
Definition: QuestPackets.h:318
std::vector< QuestCompleteDisplaySpell > RewardDisplaySpell
Definition: QuestPackets.h:140
std::span< int32 const > TreasurePickerID2
Definition: QuestPackets.h:180
std::span< int32 const > TreasurePickerID
Definition: QuestPackets.h:179
std::vector< QuestObjective > Objectives
Definition: QuestPackets.h:185
int32 RewardAmount[QUEST_REWARD_ITEM_COUNT]
Definition: QuestPackets.h:189
int32 ItemDrop[QUEST_ITEM_DROP_COUNT]
Definition: QuestPackets.h:190
int32 RewardFactionOverride[QUEST_REWARD_REPUTATIONS_COUNT]
Definition: QuestPackets.h:195
int32 RewardItems[QUEST_REWARD_ITEM_COUNT]
Definition: QuestPackets.h:188
int32 RewardFactionCapIn[QUEST_REWARD_REPUTATIONS_COUNT]
Definition: QuestPackets.h:196
QuestInfoChoiceItem UnfilteredChoiceItems[QUEST_REWARD_CHOICES_COUNT]
Definition: QuestPackets.h:192
Trinity::RaceMask< uint64 > AllowableRaces
Definition: QuestPackets.h:156
std::vector< ConditionalQuestText > ConditionalQuestDescription
Definition: QuestPackets.h:186
std::vector< ConditionalQuestText > ConditionalQuestCompletionLog
Definition: QuestPackets.h:187
int32 RewardFactionID[QUEST_REWARD_REPUTATIONS_COUNT]
Definition: QuestPackets.h:193
int32 RewardCurrencyID[QUEST_REWARD_CURRENCY_COUNT]
Definition: QuestPackets.h:197
int32 ItemDropQuantity[QUEST_ITEM_DROP_COUNT]
Definition: QuestPackets.h:191
int32 RewardCurrencyQty[QUEST_REWARD_CURRENCY_COUNT]
Definition: QuestPackets.h:198
int32 RewardFactionValue[QUEST_REWARD_REPUTATIONS_COUNT]
Definition: QuestPackets.h:194
QuestObjectiveCollect(int32 objectID=0, int32 amount=0, uint32 flags=0)
Definition: QuestPackets.h:449
Optional< QuestRewardContextFlags > ContextFlags
Definition: QuestPackets.h:273
Optional< QuestRewardContextFlags > ContextFlags
Definition: QuestPackets.h:257
std::array< int32, QUEST_REWARD_REPUTATIONS_COUNT > FactionOverride
Definition: QuestPackets.h:296
std::array< QuestChoiceItem, QUEST_REWARD_CHOICES_COUNT > ChoiceItems
Definition: QuestPackets.h:292
std::array< int32, QUEST_REWARD_DISPLAY_SPELL_COUNT > SpellCompletionDisplayID
Definition: QuestPackets.h:287
std::array< int32, QUEST_REWARD_REPUTATIONS_COUNT > FactionValue
Definition: QuestPackets.h:295
std::array< int32, QUEST_REWARD_REPUTATIONS_COUNT > FactionCapIn
Definition: QuestPackets.h:297
std::array< int32, QUEST_REWARD_REPUTATIONS_COUNT > FactionID
Definition: QuestPackets.h:294
std::array< QuestRewardCurrency, QUEST_REWARD_CURRENCY_COUNT > Currencies
Definition: QuestPackets.h:298
std::span< int32 const > TreasurePickerID
Definition: QuestPackets.h:291
WorldQuestUpdateInfo(time_t lastUpdate, uint32 questID, uint32 timer, int32 variableID, int32 value)
Definition: QuestPackets.h:685