DetailsEmote for quests (SMSG packet structure)
This commit is contained in:
parent
59a0d7dd33
commit
09f2a1f64d
@ -457,9 +457,10 @@ void PlayerMenu::SendQuestGiverQuestDetails(Quest const* pQuest, ObjectGuid guid
|
|||||||
{
|
{
|
||||||
ItemPrototype const* IProto;
|
ItemPrototype const* IProto;
|
||||||
|
|
||||||
data << uint32(pQuest->GetRewChoiceItemsCount());
|
uint32 count = pQuest->GetRewChoiceItemsCount();
|
||||||
|
data << uint32(count);
|
||||||
|
|
||||||
for (uint32 i = 0; i < QUEST_REWARD_CHOICES_COUNT; ++i)
|
for (uint32 i = 0; i < count; ++i)
|
||||||
{
|
{
|
||||||
data << uint32(pQuest->RewChoiceItemId[i]);
|
data << uint32(pQuest->RewChoiceItemId[i]);
|
||||||
data << uint32(pQuest->RewChoiceItemCount[i]);
|
data << uint32(pQuest->RewChoiceItemCount[i]);
|
||||||
@ -472,9 +473,10 @@ void PlayerMenu::SendQuestGiverQuestDetails(Quest const* pQuest, ObjectGuid guid
|
|||||||
{ data << uint32(0x00); }
|
{ data << uint32(0x00); }
|
||||||
}
|
}
|
||||||
|
|
||||||
data << uint32(pQuest->GetRewItemsCount());
|
count = pQuest->GetRewItemsCount();
|
||||||
|
data << uint32(count);
|
||||||
|
|
||||||
for (uint32 i = 0; i < QUEST_REWARDS_COUNT; ++i)
|
for (uint32 i = 0; i < count; ++i)
|
||||||
{
|
{
|
||||||
data << uint32(pQuest->RewItemId[i]);
|
data << uint32(pQuest->RewItemId[i]);
|
||||||
data << uint32(pQuest->RewItemCount[i]);
|
data << uint32(pQuest->RewItemCount[i]);
|
||||||
@ -490,19 +492,14 @@ void PlayerMenu::SendQuestGiverQuestDetails(Quest const* pQuest, ObjectGuid guid
|
|||||||
data << uint32(pQuest->GetRewOrReqMoney());
|
data << uint32(pQuest->GetRewOrReqMoney());
|
||||||
}
|
}
|
||||||
|
|
||||||
data << pQuest->GetReqItemsCount();
|
data << uint32(pQuest->GetRewSpell());
|
||||||
for (uint32 i = 0; i < QUEST_OBJECTIVES_COUNT; i++)
|
|
||||||
{
|
|
||||||
data << pQuest->ReqItemId[i];
|
|
||||||
data << pQuest->ReqItemCount[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
uint32 count = pQuest->GetDetailsEmoteCount();
|
||||||
data << pQuest->GetReqCreatureOrGOcount();
|
data << uint32(count);
|
||||||
for (uint32 i = 0; i < QUEST_OBJECTIVES_COUNT; i++)
|
for (uint32 i = 0; i < count; ++i)
|
||||||
{
|
{
|
||||||
data << uint32(pQuest->ReqCreatureOrGOId[i]);
|
data << uint32(pQuest->DetailsEmote[i]);
|
||||||
data << pQuest->ReqCreatureOrGOCount[i];
|
data << uint32(pQuest->DetailsEmoteDelay[i]); // delay between emotes in ms
|
||||||
}
|
}
|
||||||
|
|
||||||
GetMenuSession()->SendPacket(&data);
|
GetMenuSession()->SendPacket(&data);
|
||||||
|
@ -115,8 +115,13 @@ Quest::Quest(Field* questRecord)
|
|||||||
PointY = questRecord[103].GetFloat();
|
PointY = questRecord[103].GetFloat();
|
||||||
PointOpt = questRecord[104].GetUInt32();
|
PointOpt = questRecord[104].GetUInt32();
|
||||||
|
|
||||||
|
m_detailsemotecount = 0;
|
||||||
for (int i = 0; i < QUEST_EMOTE_COUNT; ++i)
|
for (int i = 0; i < QUEST_EMOTE_COUNT; ++i)
|
||||||
{ DetailsEmote[i] = questRecord[105 + i].GetUInt32(); }
|
{
|
||||||
|
DetailsEmote[i] = questRecord[105 + i].GetUInt32();
|
||||||
|
if (DetailsEmote[i] != 0)
|
||||||
|
m_detailsemotecount = i + 1;
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0; i < QUEST_EMOTE_COUNT; ++i)
|
for (int i = 0; i < QUEST_EMOTE_COUNT; ++i)
|
||||||
{ DetailsEmoteDelay[i] = questRecord[109 + i].GetUInt32(); }
|
{ DetailsEmoteDelay[i] = questRecord[109 + i].GetUInt32(); }
|
||||||
|
@ -249,6 +249,7 @@ class Quest
|
|||||||
uint32 GetPointOpt() const { return PointOpt; }
|
uint32 GetPointOpt() const { return PointOpt; }
|
||||||
uint32 GetIncompleteEmote() const { return IncompleteEmote; }
|
uint32 GetIncompleteEmote() const { return IncompleteEmote; }
|
||||||
uint32 GetCompleteEmote() const { return CompleteEmote; }
|
uint32 GetCompleteEmote() const { return CompleteEmote; }
|
||||||
|
uint32 GetDetailsEmoteCount() const { return m_detailsemotecount; }
|
||||||
uint32 GetQuestStartScript() const { return QuestStartScript; }
|
uint32 GetQuestStartScript() const { return QuestStartScript; }
|
||||||
uint32 GetQuestCompleteScript() const { return QuestCompleteScript; }
|
uint32 GetQuestCompleteScript() const { return QuestCompleteScript; }
|
||||||
|
|
||||||
@ -296,6 +297,7 @@ class Quest
|
|||||||
uint32 m_reqCreatureOrGOcount;
|
uint32 m_reqCreatureOrGOcount;
|
||||||
uint32 m_rewchoiceitemscount;
|
uint32 m_rewchoiceitemscount;
|
||||||
uint32 m_rewitemscount;
|
uint32 m_rewitemscount;
|
||||||
|
uint32 m_detailsemotecount; // actual allowed value 0..4
|
||||||
|
|
||||||
bool m_isActive;
|
bool m_isActive;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user