summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2011-07-05 03:41:13 +0300
committerAndrei Karas <akaras@inbox.ru>2011-07-05 03:41:13 +0300
commitd0571ca16bb4ef11a718cfa78dc29b57080fcc72 (patch)
treeadd362fa6b01bb83c608a78b3a56bf8b52136767 /src/net
parent0202b0b4cdac57a04a3765f6bca893bd3b5c9812 (diff)
downloadmv-d0571ca16bb4ef11a718cfa78dc29b57080fcc72.tar.gz
mv-d0571ca16bb4ef11a718cfa78dc29b57080fcc72.tar.bz2
mv-d0571ca16bb4ef11a718cfa78dc29b57080fcc72.tar.xz
mv-d0571ca16bb4ef11a718cfa78dc29b57080fcc72.zip
Add ability to send client states to other clients.
Using for this emotes.
Diffstat (limited to 'src/net')
-rw-r--r--src/net/ea/beinghandler.cpp13
-rw-r--r--src/net/tmwa/specialhandler.cpp7
2 files changed, 11 insertions, 9 deletions
diff --git a/src/net/ea/beinghandler.cpp b/src/net/ea/beinghandler.cpp
index 6875a067e..2da19ad36 100644
--- a/src/net/ea/beinghandler.cpp
+++ b/src/net/ea/beinghandler.cpp
@@ -82,15 +82,10 @@ Being *BeingHandler::createBeing(int id, short job)
if (type == ActorSprite::PLAYER || type == ActorSprite::NPC)
{
- if (!being->updateFromCache())
- {
- requestNameById(id);
- }
- else
- {
- if (player_node)
- player_node->checkNewName(being);
- }
+ being->updateFromCache();
+ requestNameById(id);
+ if (player_node)
+ player_node->checkNewName(being);
}
if (type == Being::PLAYER)
{
diff --git a/src/net/tmwa/specialhandler.cpp b/src/net/tmwa/specialhandler.cpp
index 19713a0bf..1e6249a51 100644
--- a/src/net/tmwa/specialhandler.cpp
+++ b/src/net/tmwa/specialhandler.cpp
@@ -23,6 +23,7 @@
#include "net/tmwa/specialhandler.h"
#include "log.h"
+#include "localplayer.h"
#include "playerinfo.h"
#include "gui/skilldialog.h"
@@ -152,6 +153,12 @@ void SpecialHandler::handleMessage(Net::MessageIn &msg)
std::string msg;
if (success == SKILL_FAILED && skillId == SKILL_BASIC)
{
+ if (player_node && bskill == BSKILL_EMOTE
+ && reason == RFAIL_SKILLDEP)
+ {
+ player_node->stopAdvert();
+ }
+
switch (bskill)
{
case BSKILL_TRADE: