diff options
author | Andrei Karas <akaras@inbox.ru> | 2011-10-30 03:46:59 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2011-10-30 03:46:59 +0300 |
commit | ece00592ecd93f7a96db0ca82589d00846e2f938 (patch) | |
tree | c36bde1e1a46d11ee47438d0debaa8317cd0db6e /src/net/ea | |
parent | d14bb7a27ee23cc83b3af1db2f1976eaaa55d78a (diff) | |
parent | 2c3c118c03ece5cad2b73affffbcbbc5a5746c7a (diff) | |
download | manaverse-ece00592ecd93f7a96db0ca82589d00846e2f938.tar.gz manaverse-ece00592ecd93f7a96db0ca82589d00846e2f938.tar.bz2 manaverse-ece00592ecd93f7a96db0ca82589d00846e2f938.tar.xz manaverse-ece00592ecd93f7a96db0ca82589d00846e2f938.zip |
Merge branch 'master' into strippedstripped1.1.10.30
Diffstat (limited to 'src/net/ea')
-rw-r--r-- | src/net/ea/chathandler.cpp | 45 | ||||
-rw-r--r-- | src/net/ea/chathandler.h | 2 | ||||
-rw-r--r-- | src/net/ea/tradehandler.cpp | 8 |
3 files changed, 55 insertions, 0 deletions
diff --git a/src/net/ea/chathandler.cpp b/src/net/ea/chathandler.cpp index 60af645be..35e8597f0 100644 --- a/src/net/ea/chathandler.cpp +++ b/src/net/ea/chathandler.cpp @@ -353,4 +353,49 @@ void ChatHandler::processMVP(Net::MessageIn &msg) } } +void ChatHandler::processIgnoreAllResponse(Net::MessageIn &msg) +{ + int action = msg.readInt8(); + int fail = msg.readInt8(); + if (!localChatTab) + return; + + switch (action) + { + case 0: + { + switch (fail) + { + case 0: + localChatTab->chatLog(_("All whispers ignored."), + BY_SERVER); + break; + default: + localChatTab->chatLog(_("All whispers ignore failed."), + BY_SERVER); + break; + } + break; + } + case 1: + { + switch (fail) + { + case 0: + localChatTab->chatLog(_("All whispers unignored."), + BY_SERVER); + break; + default: + localChatTab->chatLog(_("All whispers unignore failed."), + BY_SERVER); + break; + } + break; + } + default: + // unknown result + break; + } +} + } // namespace Ea diff --git a/src/net/ea/chathandler.h b/src/net/ea/chathandler.h index d000b673d..cff9bf589 100644 --- a/src/net/ea/chathandler.h +++ b/src/net/ea/chathandler.h @@ -84,6 +84,8 @@ class ChatHandler : public Net::ChatHandler virtual void processMVP(Net::MessageIn &msg); + virtual void processIgnoreAllResponse(Net::MessageIn &msg); + protected: typedef std::queue<std::string> WhisperQueue; WhisperQueue mSentWhispers; diff --git a/src/net/ea/tradehandler.cpp b/src/net/ea/tradehandler.cpp index bdbba9715..19aa474e3 100644 --- a/src/net/ea/tradehandler.cpp +++ b/src/net/ea/tradehandler.cpp @@ -121,6 +121,14 @@ void TradeHandler::processTradeRequest(Net::MessageIn &msg) void TradeHandler::processTradeResponse(Net::MessageIn &msg) { + if (confirmDlg || tradePartnerName.empty() + || !player_relations.hasPermission(tradePartnerName, + PlayerRelation::TRADE)) + { + Net::getTradeHandler()->respond(false); + return; + } + switch (msg.readInt8()) { case 0: // Too far away |