summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-12-27 17:56:43 +0300
committerAndrei Karas <akaras@inbox.ru>2013-12-27 17:56:43 +0300
commiteee2f72b047262cbb6478c67f2e5293a85ce79e4 (patch)
treea5924ee55bd5570825dccd0a344dd9f986157e12 /src/net
parente068a57abf67381e4f58f90e40af3be6b386e240 (diff)
downloadmanaplus-eee2f72b047262cbb6478c67f2e5293a85ce79e4.tar.gz
manaplus-eee2f72b047262cbb6478c67f2e5293a85ce79e4.tar.bz2
manaplus-eee2f72b047262cbb6478c67f2e5293a85ce79e4.tar.xz
manaplus-eee2f72b047262cbb6478c67f2e5293a85ce79e4.zip
allow to owner talk from own pet.
New chat command: /talkpet text
Diffstat (limited to 'src/net')
-rw-r--r--src/net/chathandler.h3
-rw-r--r--src/net/ea/chathandler.cpp8
-rw-r--r--src/net/ea/chathandler.h3
3 files changed, 14 insertions, 0 deletions
diff --git a/src/net/chathandler.h b/src/net/chathandler.h
index aab74e85a..db866ac3b 100644
--- a/src/net/chathandler.h
+++ b/src/net/chathandler.h
@@ -39,6 +39,9 @@ class ChatHandler
virtual void talk(const std::string &restrict text,
const std::string &restrict channel) const = 0;
+ virtual void talkPet(const std::string &restrict text,
+ const std::string &restrict channel) const = 0;
+
virtual void talkRaw(const std::string &text) const = 0;
virtual void me(const std::string &restrict text,
diff --git a/src/net/ea/chathandler.cpp b/src/net/ea/chathandler.cpp
index 698a03ef4..2bfee7ad2 100644
--- a/src/net/ea/chathandler.cpp
+++ b/src/net/ea/chathandler.cpp
@@ -70,6 +70,14 @@ void ChatHandler::me(const std::string &restrict text,
talk(action, channel);
}
+void ChatHandler::talkPet(const std::string &restrict text,
+ const std::string &restrict channel) const
+{
+ // here need string duplication
+ std::string action = strprintf("\302\202\303 %s", text.c_str());
+ talk(action, channel);
+}
+
void ChatHandler::processWhisperResponse(Net::MessageIn &msg)
{
BLOCK_START("ChatHandler::processWhisperResponse")
diff --git a/src/net/ea/chathandler.h b/src/net/ea/chathandler.h
index cba709577..b2e38fede 100644
--- a/src/net/ea/chathandler.h
+++ b/src/net/ea/chathandler.h
@@ -38,6 +38,9 @@ class ChatHandler : public Net::ChatHandler
A_DELETE_COPY(ChatHandler)
+ void talkPet(const std::string &restrict text,
+ const std::string &restrict channel) const override final;
+
void me(const std::string &restrict text,
const std::string &restrict channel) const override final;