diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/QuestPackets.cpp | 7 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/QuestPackets.h | 10 | ||||
| -rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 | 
4 files changed, 22 insertions, 1 deletions
| diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 7e30a125827..ea2f926585c 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -22754,6 +22754,10 @@ void Player::DailyReset()          if (uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(questId))              SetQuestCompletedBit(questBit, false); +    WorldPackets::Quest::DailyQuestsReset dailyQuestsReset; +    dailyQuestsReset.Count = int32(GetDynamicValues(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS).size()); +    SendDirectMessage(dailyQuestsReset.Write()); +      ClearDynamicValue(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS);      m_DFQuests.clear(); // Dungeon Finder Quests. diff --git a/src/server/game/Server/Packets/QuestPackets.cpp b/src/server/game/Server/Packets/QuestPackets.cpp index f7604e864d3..bd4a171d0bc 100644 --- a/src/server/game/Server/Packets/QuestPackets.cpp +++ b/src/server/game/Server/Packets/QuestPackets.cpp @@ -543,3 +543,10 @@ void WorldPackets::Quest::PushQuestToParty::Read()  {      _worldPacket >> QuestID;  } + +WorldPacket const* WorldPackets::Quest::DailyQuestsReset::Write() +{ +    _worldPacket << int32(Count); + +    return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/QuestPackets.h b/src/server/game/Server/Packets/QuestPackets.h index ff5835047b5..c2a54bb8ddc 100644 --- a/src/server/game/Server/Packets/QuestPackets.h +++ b/src/server/game/Server/Packets/QuestPackets.h @@ -558,6 +558,16 @@ namespace WorldPackets              uint32 QuestID = 0;          }; + +        class DailyQuestsReset final : public ServerPacket +        { +        public: +            DailyQuestsReset() : ServerPacket(SMSG_DAILY_QUESTS_RESET, 4) { } + +            WorldPacket const* Write() override; + +            int32 Count = 0; +        };      }  } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 5afbf618f22..89ff041284b 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -1010,7 +1010,7 @@ void OpcodeTable::Initialize()      DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRITERIA_UPDATE,                         STATUS_NEVER,        CONNECTION_TYPE_INSTANCE);      DEFINE_SERVER_OPCODE_HANDLER(SMSG_CROSSED_INEBRIATION_THRESHOLD,           STATUS_NEVER,        CONNECTION_TYPE_REALM);      DEFINE_SERVER_OPCODE_HANDLER(SMSG_CUSTOM_LOAD_SCREEN,                      STATUS_UNHANDLED,    CONNECTION_TYPE_REALM); -    DEFINE_SERVER_OPCODE_HANDLER(SMSG_DAILY_QUESTS_RESET,                      STATUS_UNHANDLED,    CONNECTION_TYPE_REALM); +    DEFINE_SERVER_OPCODE_HANDLER(SMSG_DAILY_QUESTS_RESET,                      STATUS_NEVER,        CONNECTION_TYPE_REALM);      DEFINE_SERVER_OPCODE_HANDLER(SMSG_DAMAGE_CALC_LOG,                         STATUS_UNHANDLED,    CONNECTION_TYPE_REALM);      DEFINE_SERVER_OPCODE_HANDLER(SMSG_DANCE_STUDIO_CREATE_RESULT,              STATUS_UNHANDLED,    CONNECTION_TYPE_REALM);      DEFINE_SERVER_OPCODE_HANDLER(SMSG_DB_REPLY,                                STATUS_NEVER,        CONNECTION_TYPE_REALM); | 
