diff options
author | Ira Rice <irarice@gmail.com> | 2008-11-02 00:33:31 +0000 |
---|---|---|
committer | Ira Rice <irarice@gmail.com> | 2008-11-02 00:33:31 +0000 |
commit | 5cf18a062ffca03196b83fe6fda8ea3e54079c57 (patch) | |
tree | 00fa520012a6ed4a0fee66a1d65364bf81ccaeb5 /src/net | |
parent | 494e35cda96863f676409d304a916d9308040eab (diff) | |
download | mana-5cf18a062ffca03196b83fe6fda8ea3e54079c57.tar.gz mana-5cf18a062ffca03196b83fe6fda8ea3e54079c57.tar.bz2 mana-5cf18a062ffca03196b83fe6fda8ea3e54079c57.tar.xz mana-5cf18a062ffca03196b83fe6fda8ea3e54079c57.zip |
Ported a patch from TMW by fate which de-hardcodes skills, as well as removes the server sending out view id's for
gloves and boots (which weren't needed.) Here's the full log:
* Updated GUI table and model to better handle NULL widgets during initialisation
* On SMSG_MOVE et al., ignore boots and glove information-- that information is incorrect and we're guaranteed to
already have the correct information anyway.
* Properly decode `is dead' information for PCs, so that dead players, when encountered, will be lying on the ground,
dead, rather than standing.
* Use `skills.xml' file from client data to determine skill names
* Report client version number (hereby bumped to 1) in unused charserver slot (ignored by vanilla eAthena)
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/beinghandler.cpp | 14 | ||||
-rw-r--r-- | src/net/network.h | 4 | ||||
-rw-r--r-- | src/net/skillhandler.cpp | 1 |
3 files changed, 15 insertions, 4 deletions
diff --git a/src/net/beinghandler.cpp b/src/net/beinghandler.cpp index 85e18e5a..f19fd39c 100644 --- a/src/net/beinghandler.cpp +++ b/src/net/beinghandler.cpp @@ -406,8 +406,8 @@ void BeingHandler::handleMessage(MessageIn *msg) headTop = msg->readInt16(); headMid = msg->readInt16(); hairColor = msg->readInt16(); - shoes = msg->readInt16(); - gloves = msg->readInt16(); + msg->readInt16(); // clothes color + msg->readInt16(); // head direction msg->readInt32(); // guild msg->readInt32(); // emblem msg->readInt16(); // manner @@ -450,9 +450,15 @@ void BeingHandler::handleMessage(MessageIn *msg) if (msg->getId() == SMSG_PLAYER_UPDATE_1) { - if (msg->readInt8() == 2) + switch (msg->readInt8()) { - dstBeing->setAction(Being::SIT); + case 1: + dstBeing->setAction(Being::DEAD); + break; + + case 2: + dstBeing->setAction(Being::SIT); + break; } } else if (msg->getId() == SMSG_PLAYER_MOVE) diff --git a/src/net/network.h b/src/net/network.h index 53800b1e..826e6776 100644 --- a/src/net/network.h +++ b/src/net/network.h @@ -29,6 +29,10 @@ #include <SDL_thread.h> #include <string> +#define TMW_CLIENT_PROTOCOL_VERSION 1 + /***< Protocol version, reported to the eAthena char and mapserver who + can adjust the protocol accordingly */ + class MessageHandler; class MessageIn; diff --git a/src/net/skillhandler.cpp b/src/net/skillhandler.cpp index 1f9403f4..3685d04b 100644 --- a/src/net/skillhandler.cpp +++ b/src/net/skillhandler.cpp @@ -73,6 +73,7 @@ void SkillHandler::handleMessage(MessageIn *msg) } } } + skillDialog->update(); break; case SMSG_SKILL_FAILED: |