mirror of
https://github.com/mangosfour/server.git
synced 2025-12-25 13:37:02 +00:00
[0159] Update quest system.
TODO: - implement currency requirements/rewards - skill rewards - skill learned requirements. - not show quests with RewSkill to players which do not have that skill Signed-off-by: Yaki Khadafi <ElSolDolLo@gmail.com>
This commit is contained in:
parent
f6cc5b2c9d
commit
3ceed0edfb
16 changed files with 1273 additions and 842 deletions
|
|
@ -393,13 +393,14 @@ void WorldSession::HandleQuestgiverCompleteQuest(WorldPacket& recv_data)
|
|||
{
|
||||
uint32 quest;
|
||||
ObjectGuid guid;
|
||||
recv_data >> guid >> quest;
|
||||
uint8 unk;
|
||||
recv_data >> guid >> quest >> unk;
|
||||
|
||||
if (!CanInteractWithQuestGiver(guid, "CMSG_QUESTGIVER_COMPLETE_QUEST"))
|
||||
return;
|
||||
|
||||
// All ok, continue
|
||||
DEBUG_LOG("WORLD: Received CMSG_QUESTGIVER_COMPLETE_QUEST - for %s to %s, quest = %u", _player->GetGuidStr().c_str(), guid.GetString().c_str(), quest);
|
||||
DEBUG_LOG("WORLD: Received CMSG_QUESTGIVER_COMPLETE_QUEST - for %s to %s, quest = %u, unk = %u", _player->GetGuidStr().c_str(), guid.GetString().c_str(), quest, unk);
|
||||
|
||||
if (Quest const* pQuest = sObjectMgr.GetQuestTemplate(quest))
|
||||
{
|
||||
|
|
@ -485,8 +486,9 @@ void WorldSession::HandlePushQuestToParty(WorldPacket& recvPacket)
|
|||
void WorldSession::HandleQuestPushResult(WorldPacket& recvPacket)
|
||||
{
|
||||
ObjectGuid guid;
|
||||
uint32 quest;
|
||||
uint8 msg;
|
||||
recvPacket >> guid >> msg;
|
||||
recvPacket >> guid >> quest >> msg;
|
||||
|
||||
DEBUG_LOG("WORLD: Received MSG_QUEST_PUSH_RESULT");
|
||||
|
||||
|
|
@ -607,7 +609,7 @@ void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket
|
|||
|
||||
for (GuidSet::const_iterator itr = _player->m_clientGUIDs.begin(); itr != _player->m_clientGUIDs.end(); ++itr)
|
||||
{
|
||||
uint8 dialogStatus = DIALOG_STATUS_NONE;
|
||||
uint32 dialogStatus = DIALOG_STATUS_NONE;
|
||||
|
||||
if (itr->IsAnyTypeCreature())
|
||||
{
|
||||
|
|
@ -626,7 +628,7 @@ void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket
|
|||
dialogStatus = getDialogStatus(_player, questgiver, DIALOG_STATUS_NONE);
|
||||
|
||||
data << questgiver->GetObjectGuid();
|
||||
data << uint8(dialogStatus);
|
||||
data << uint32(dialogStatus);
|
||||
++count;
|
||||
}
|
||||
else if (itr->IsGameObject())
|
||||
|
|
@ -645,7 +647,7 @@ void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket
|
|||
dialogStatus = getDialogStatus(_player, questgiver, DIALOG_STATUS_NONE);
|
||||
|
||||
data << questgiver->GetObjectGuid();
|
||||
data << uint8(dialogStatus);
|
||||
data << uint32(dialogStatus);
|
||||
++count;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue