From ad39d53c585b8794fea36e0fe4ddfb1d8db85918 Mon Sep 17 00:00:00 2001 From: Ben Carter Date: Fri, 24 Jan 2025 17:13:52 -0500 Subject: [PATCH] fixed issues for newest version --- src/AdvancementMgr.h | 4 ++-- src/Event/MpEventHandlers.cpp | 26 +++++++++++++------------- src/Event/MpEventProcessor.h | 2 +- src/MpDataStore.cpp | 11 ++++++++--- 4 files changed, 24 insertions(+), 19 deletions(-) diff --git a/src/AdvancementMgr.h b/src/AdvancementMgr.h index 2ca804f..ff5ad60 100644 --- a/src/AdvancementMgr.h +++ b/src/AdvancementMgr.h @@ -93,11 +93,11 @@ public: } // Loads advancement information from the database into memory when players are logged in or server starts. - int32 LoadAdvencementRanks(); + int32 LoadAdvancementRanks(); int32 LoadMaterialTypes(); int32 LoadPlayerAdvancements(Player* player); - // Methods for looking up advancment rank data + // Methods for looking up advancement rank data MpAdvancementRank* GetAdvancementRank(uint32 rank, MpAdvancements advancement); // Methods for updating and setting data related to current player advancements diff --git a/src/Event/MpEventHandlers.cpp b/src/Event/MpEventHandlers.cpp index b6ef265..8abb341 100644 --- a/src/Event/MpEventHandlers.cpp +++ b/src/Event/MpEventHandlers.cpp @@ -27,10 +27,19 @@ enum class MP_EVENT_CODE }; +// Send an error event to the client +bool SendEventError(Player* player, const std::string& method, MP_EVENT_CODE code, std::string message) +{ + std::vector clientError = { std::to_string(static_cast(code)), message }; + MpLogger::error("Event Processor) Sending client error: {} {}", code, message); + sMpClientDispatcher->Dispatch(MpClientEvent::Error, player, clientError); + return false; +} + class UpdateAdvancements : public MpEventInterface { public: - const std::string& EventName() const override + const std::string EventName() const override { return "UpgradeAdvancement"; } @@ -72,7 +81,7 @@ class UpdateAdvancements : public MpEventInterface if(! sAdvancementMgr->UpgradeAdvancement(player, static_cast(advancementId), diceLevel, itemEntry1, itemEntry2, itemEntry3)) { return SendEventError(player, EventName(),MP_EVENT_CODE::INVALID_ARGUMENT, "Failed to upgrade advancement for player " + player->GetName()); } - std::vector eventData = {"0", "success"}; + eventData = {"0", "success"}; // Send response back to the client sMpClientDispatcher->Dispatch(MpClientEvent::UpgradeAdvancement, player, eventData); @@ -84,7 +93,7 @@ class UpdateAdvancements : public MpEventInterface class GetAdvancementRank : public MpEventInterface { public: - const std::string& EventName() const override + const std::string EventName() const override { return "GetAdvancementRank"; } @@ -114,7 +123,7 @@ class GetAdvancementRank : public MpEventInterface return SendEventError(player, EventName(),MP_EVENT_CODE::INVALID_ARGUMENT, "Failed to get advancement rank for player " + player->GetName()); } - std::vector eventData = {std::to_string(rank->rank), std::to_string(rank->advancementId)}; + eventData = {std::to_string(rank->rank), std::to_string(rank->advancementId)}; // Send response back to the client sMpClientDispatcher->Dispatch(MpClientEvent::GetAdvancementRank, player, eventData); @@ -123,15 +132,6 @@ class GetAdvancementRank : public MpEventInterface } }; -// Send an error event to the client -bool SendEventError(Player* player, const std::string& method, MP_EVENT_CODE code, std::string message) -{ - std::vector clientError = { std::to_string(static_cast(code)), message }; - MpLogger::error("Event Processor) Sending client error: {}", clientError); - sMpClientDispatcher->Dispatch(MpClientEvent::Error, player, clientError); - return false; -} - void MP_Register_EventHandlers() { auto updateAdvancements = std::make_shared(); diff --git a/src/Event/MpEventProcessor.h b/src/Event/MpEventProcessor.h index 99c2dca..ab6ac52 100644 --- a/src/Event/MpEventProcessor.h +++ b/src/Event/MpEventProcessor.h @@ -27,7 +27,7 @@ public: virtual ~MpEventInterface() = default; [[nodiscard]] virtual bool Execute(Player* player, std::vector& args) = 0; - [[nodiscard]] virtual const std::string& EventName() const = 0; + [[nodiscard]] virtual const std::string EventName() const = 0; }; using EventParseRslt = std::tuple>; diff --git a/src/MpDataStore.cpp b/src/MpDataStore.cpp index 9713d24..06cbdbd 100644 --- a/src/MpDataStore.cpp +++ b/src/MpDataStore.cpp @@ -1,5 +1,6 @@ #include "CharacterDatabase.h" #include "MpDataStore.h" +#include "Chat.h" #include "Group.h" #include "MpLogger.h" @@ -54,8 +55,9 @@ void MpDataStore::AddGroupData(Group *group, MpGroupData groupData) { if(!player) { MpLogger::error("AddGroupData called with null player in instance"); } - - player->GetSession()->SendNotification("The group leader has changed the difficulty setting. You have been removed from the instance."); + ChatHandler(player->GetSession()).SendSysMessage("The group leader has changed the difficulty setting. You have been removed from the instance."); + //("The group leader has changed the difficulty setting. You have been removed from the instance."); + // player->GetSession()->SendNotification("The group leader has changed the difficulty setting. You have been removed from the instance."); } } @@ -77,7 +79,10 @@ void MpDataStore::AddGroupData(Group *group, MpGroupData groupData) { MpLogger::error("AddGroupData called with null player in instance"); } - player->GetSession()->SendNotification("The group leader has changed the difficulty setting. You have been removed from the instance."); + if(player) { + ChatHandler(player->GetSession()).SendSysMessage("The group leader has changed the difficulty setting. You have been removed from the instance."); + // player->GetSession()->SendNotification("The group leader has changed the difficulty setting. You have been removed from the instance."); -- previous implementation for older core users + } } }