From 13b4a16c46983b786d31f6cf67632a3bd4e14b8f Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 3 Apr 2015 22:05:00 +0300 Subject: Impliment manner messages. --- src/net/eathena/chathandler.cpp | 34 +++++++++++++++++++++++++++++----- src/resources/notifications.h | 12 ++++++++++++ src/resources/notifytypes.h | 3 +++ 3 files changed, 44 insertions(+), 5 deletions(-) diff --git a/src/net/eathena/chathandler.cpp b/src/net/eathena/chathandler.cpp index d60661b9f..57d57ca6c 100644 --- a/src/net/eathena/chathandler.cpp +++ b/src/net/eathena/chathandler.cpp @@ -23,6 +23,7 @@ #include "net/eathena/chathandler.h" #include "actormanager.h" +#include "notifymanager.h" #include "being/localplayer.h" #include "being/playerrelations.h" @@ -40,6 +41,7 @@ #include "net/eathena/protocol.h" #include "resources/chatobject.h" +#include "resources/notifytypes.h" #include "utils/gettext.h" #include "utils/stringutils.h" @@ -904,15 +906,37 @@ void ChatHandler::processMVPNoItem(Net::MessageIn &msg) void ChatHandler::processMannerMessage(Net::MessageIn &msg) { - UNIMPLIMENTEDPACKET; - msg.readInt32("type"); + const int result = msg.readInt32("type"); + switch(result) + { + case 0: + NotifyManager::notify(NotifyTypes::MANNER_CHANGED); + break; + case 5: + break; + default: + UNIMPLIMENTEDPACKET; + break; + } } void ChatHandler::processChatSilence(Net::MessageIn &msg) { - UNIMPLIMENTEDPACKET; - msg.readUInt8("type"); - msg.readString(24, "gm name"); + const int result = msg.readUInt8("type"); + const std::string name = msg.readString(24, "gm name"); + + switch (result) + { + case 0: + NotifyManager::notify(NotifyTypes::MANNER_POSITIVE_POINTS, name); + break; + case 1: + NotifyManager::notify(NotifyTypes::MANNER_NEGATIVE_POINTS, name); + break; + default: + UNIMPLIMENTEDPACKET; + break; + } } void ChatHandler::processChatTalkieBox(Net::MessageIn &msg) diff --git a/src/resources/notifications.h b/src/resources/notifications.h index 78b19b7e9..019879aba 100644 --- a/src/resources/notifications.h +++ b/src/resources/notifications.h @@ -499,6 +499,18 @@ namespace NotifyManager // TRANSLATORS: notification message N_("Pet feeding error."), NotifyFlags::EMPTY}, + {"manner changed", + // TRANSLATORS: notification message + N_("A manner point has been successfully aligned."), + NotifyFlags::EMPTY}, + {"manner positive points", + // TRANSLATORS: notification message + N_("You got positive manner points from %s."), + NotifyFlags::STRING}, + {"manner negative points", + // TRANSLATORS: notification message + N_("You got negative manner points from %s."), + NotifyFlags::STRING}, }; } // namespace NotifyManager #endif // RESOURCES_NOTIFICATIONS_H diff --git a/src/resources/notifytypes.h b/src/resources/notifytypes.h index 017e61a9d..27bad8673 100644 --- a/src/resources/notifytypes.h +++ b/src/resources/notifytypes.h @@ -143,6 +143,9 @@ namespace NotifyTypes SEARCH_STORE_FAILED_NO_INFORMATION, PET_FEED_OK, PET_FEED_ERROR, + MANNER_CHANGED, + MANNER_POSITIVE_POINTS, + MANNER_NEGATIVE_POINTS, TYPE_END }; -- cgit v1.2.3-60-g2f50