summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-03-07 12:28:38 +0300
committerAndrei Karas <akaras@inbox.ru>2014-03-07 12:28:38 +0300
commita7258e25d06f90b10dee8281a65d239c89e5094c (patch)
treeec7ff20bb141da153453493f03fea3744537b19f /src/net
parent7bbd2004db69dcf456a606a350d315e2fefa7d4f (diff)
downloadmanaplus-a7258e25d06f90b10dee8281a65d239c89e5094c.tar.gz
manaplus-a7258e25d06f90b10dee8281a65d239c89e5094c.tar.bz2
manaplus-a7258e25d06f90b10dee8281a65d239c89e5094c.tar.xz
manaplus-a7258e25d06f90b10dee8281a65d239c89e5094c.zip
fix emote command in crazy moves A.
Diffstat (limited to 'src/net')
-rw-r--r--src/net/pethandler.h2
-rw-r--r--src/net/tmwa/pethandler.cpp13
-rw-r--r--src/net/tmwa/pethandler.h5
3 files changed, 14 insertions, 6 deletions
diff --git a/src/net/pethandler.h b/src/net/pethandler.h
index 7b5666396..688eb3034 100644
--- a/src/net/pethandler.h
+++ b/src/net/pethandler.h
@@ -41,7 +41,7 @@ class PetHandler
const int petId,
const int x, const int y) const = 0;
- virtual void emote(const uint8_t emoteId, const int petId) const = 0;
+ virtual void emote(const uint8_t emoteId, const int petId) = 0;
};
} // namespace Net
diff --git a/src/net/tmwa/pethandler.cpp b/src/net/tmwa/pethandler.cpp
index 3293b7edd..77317a077 100644
--- a/src/net/tmwa/pethandler.cpp
+++ b/src/net/tmwa/pethandler.cpp
@@ -34,7 +34,8 @@ namespace TmwAthena
{
PetHandler::PetHandler() :
- MessageHandler()
+ MessageHandler(),
+ mRandCounter(1000)
{
static const uint16_t _messages[] =
{
@@ -63,10 +64,14 @@ void PetHandler::spawn(const Being *const being A_UNUSED,
{
}
-void PetHandler::emote(const uint8_t emoteId, const int petId A_UNUSED) const
+void PetHandler::emote(const uint8_t emoteId, const int petId A_UNUSED)
{
- Net::getChatHandler()->talk("\302\202\302e" + toString(
- static_cast<int>(emoteId)), GENERAL_CHANNEL);
+ mRandCounter ++;
+ if (mRandCounter > 10000)
+ mRandCounter = 1000;
+
+ Net::getChatHandler()->talk(strprintf("\302\202\302e%dz%d",
+ static_cast<int>(emoteId), mRandCounter), GENERAL_CHANNEL);
}
} // namespace TmwAthena
diff --git a/src/net/tmwa/pethandler.h b/src/net/tmwa/pethandler.h
index 30eff59b8..bcfa6b1a6 100644
--- a/src/net/tmwa/pethandler.h
+++ b/src/net/tmwa/pethandler.h
@@ -47,7 +47,10 @@ class PetHandler final : public MessageHandler, public Net::PetHandler
const int x, const int y) const override final;
void emote(const uint8_t emoteId,
- const int petId) const override final;
+ const int petId) override final;
+
+ protected:
+ int mRandCounter;
};
} // namespace TmwAthena