summaryrefslogtreecommitdiff
path: root/src/net/tmwa/beinghandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/tmwa/beinghandler.cpp')
-rw-r--r--src/net/tmwa/beinghandler.cpp28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/net/tmwa/beinghandler.cpp b/src/net/tmwa/beinghandler.cpp
index ce2db733f..845c30f19 100644
--- a/src/net/tmwa/beinghandler.cpp
+++ b/src/net/tmwa/beinghandler.cpp
@@ -27,6 +27,7 @@
#include "client.h"
#include "effectmanager.h"
#include "guild.h"
+#include "guildmanager.h"
#include "keyboardconfig.h"
#include "localplayer.h"
#include "logger.h"
@@ -444,7 +445,7 @@ void BeingHandler::processPlayerMoveUpdate(Net::MessageIn &msg, int msgType)
Being *dstBeing;
int hairStyle, hairColor;
unsigned char colors[9];
- Uint8 dir;
+
// An update about a player, potentially including movement.
int id = msg.readInt32();
@@ -468,7 +469,7 @@ void BeingHandler::processPlayerMoveUpdate(Net::MessageIn &msg, int msgType)
return;
}
- dir = dstBeing->getDirectionDelayed();
+ Uint8 dir = dstBeing->getDirectionDelayed();
if (dir)
{
if (dir != dstBeing->getDirection())
@@ -505,10 +506,17 @@ void BeingHandler::processPlayerMoveUpdate(Net::MessageIn &msg, int msgType)
guild = msg.readInt32(); // guild
- if (guild == 0)
- dstBeing->clearGuilds();
- else
- dstBeing->setGuild(Guild::getGuild(static_cast<short>(guild)));
+ if (!guildManager || !GuildManager::getEnableGuildBot())
+ {
+ if (guild == 0)
+ {
+ dstBeing->clearGuilds();
+ }
+ else
+ {
+ dstBeing->setGuild(Guild::getGuild(static_cast<short>(guild)));
+ }
+ }
msg.readInt16(); // emblem
msg.readInt16(); // manner
@@ -560,10 +568,10 @@ void BeingHandler::processPlayerMoveUpdate(Net::MessageIn &msg, int msgType)
if (srcX != dstX || srcY != dstY)
{
- int dir = dstBeing->calcDirection(dstX, dstY);
+ int d = dstBeing->calcDirection(dstX, dstY);
- if (dir && dstBeing->getDirection() != dir)
- dstBeing->setDirectionDelayed(static_cast<Uint8>(dir));
+ if (d && dstBeing->getDirection() != d)
+ dstBeing->setDirectionDelayed(static_cast<Uint8>(d));
}
if (player_node->getCurrentAction() != Being::STAND)
@@ -576,7 +584,7 @@ void BeingHandler::processPlayerMoveUpdate(Net::MessageIn &msg, int msgType)
}
else
{
- Uint8 dir;
+// Uint8 dir;
Uint16 x, y;
msg.readCoordinates(x, y, dir);
dstBeing->setTileCoords(x, y);