summaryrefslogtreecommitdiff
path: root/src/net/beinghandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/beinghandler.cpp')
-rw-r--r--src/net/beinghandler.cpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/net/beinghandler.cpp b/src/net/beinghandler.cpp
index ed0fc4b2..10de5351 100644
--- a/src/net/beinghandler.cpp
+++ b/src/net/beinghandler.cpp
@@ -383,17 +383,22 @@ void BeingHandler::handleMessage(MessageIn &msg)
void
BeingHandler::handleBeingEnterMessage(MessageIn &msg)
{
- // Not sure what do to exactly with this message yet.
- /*
- unsigned char type = msg.readByte();
- unsigned long id = msg.readLong();
-
- if (type == OBJECT_PLAYER)
+ msg.readByte(); // type
+ int id = msg.readLong();
+ std::string name = msg.readString();
+ Being *being;
+ if (player_node->getName() == name)
+ {
+ being = player_node;
+ being->setId(id);
+ }
+ else
{
- std::string name = msg.readString();
- unsigned char hairStyle = msg.readByte();
- unsigned char hairColor = msg.readByte();
- unsigned char gender = msg.readByte();
+ // assume type is player for now, so job 0, TODO
+ being = beingManager->createBeing(id, 0);
+ being->setName(name);
}
- */
+ being->setHairStyle(msg.readByte() + 1);
+ being->setHairColor(msg.readByte() + 1);
+ being->setSex(msg.readByte());
}