summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
Diffstat (limited to 'src/net')
-rw-r--r--src/net/beinghandler.cpp24
-rw-r--r--src/net/buysellhandler.cpp2
-rw-r--r--src/net/charserverhandler.cpp2
-rw-r--r--src/net/equipmenthandler.cpp3
-rw-r--r--src/net/loginhandler.cpp12
-rw-r--r--src/net/loginhandler.h5
-rw-r--r--src/net/network.h6
-rw-r--r--src/net/playerhandler.cpp3
-rw-r--r--src/net/protocol.h1
-rw-r--r--src/net/tradehandler.cpp4
10 files changed, 32 insertions, 30 deletions
diff --git a/src/net/beinghandler.cpp b/src/net/beinghandler.cpp
index b016b5cf..3c022af6 100644
--- a/src/net/beinghandler.cpp
+++ b/src/net/beinghandler.cpp
@@ -204,21 +204,15 @@ void BeingHandler::handleMessage(MessageIn *msg)
// If this is player's current target, clear it.
if (dstBeing == player_node->getTarget())
- {
player_node->stopAttack();
- }
if (dstBeing == current_npc)
current_npc = NULL;
if (msg->readInt8() == 1)
- {
dstBeing->setAction(Being::DEAD);
- }
else
- {
beingManager->destroyBeing(dstBeing);
- }
break;
@@ -236,27 +230,26 @@ void BeingHandler::handleMessage(MessageIn *msg)
switch (type)
{
case 0x0a: // Critical Damage
- if (dstBeing) {
+ if (dstBeing)
dstBeing->showCrit();
- }
- case 0x00: // Damage
- if (dstBeing) {
+ case 0x00: // Damage
+ if (dstBeing)
dstBeing->takeDamage(param1);
- }
- if (srcBeing) {
+ if (srcBeing)
srcBeing->handleAttack(dstBeing, param1);
- }
break;
case 0x02: // Sit
- if (srcBeing) {
+ if (srcBeing)
+ {
srcBeing->mFrame = 0;
srcBeing->setAction(Being::SIT);
}
break;
case 0x03: // Stand up
- if (srcBeing) {
+ if (srcBeing)
+ {
srcBeing->mFrame = 0;
srcBeing->setAction(Being::STAND);
}
@@ -518,3 +511,4 @@ void BeingHandler::handleMessage(MessageIn *msg)
break;
}
}
+
diff --git a/src/net/buysellhandler.cpp b/src/net/buysellhandler.cpp
index ad613889..b2fe99b9 100644
--- a/src/net/buysellhandler.cpp
+++ b/src/net/buysellhandler.cpp
@@ -113,6 +113,8 @@ void BuySellHandler::handleMessage(MessageIn *msg)
if (msg->readInt8() == 0) {
chatWindow->chatLog("Thanks for buying", BY_SERVER);
} else {
+ // Reset player money since buy dialog already assumed purchase
+ // would go fine
buyDialog->setMoney(player_node->mGp);
chatWindow->chatLog("Unable to buy", BY_SERVER);
}
diff --git a/src/net/charserverhandler.cpp b/src/net/charserverhandler.cpp
index 833732db..281923f8 100644
--- a/src/net/charserverhandler.cpp
+++ b/src/net/charserverhandler.cpp
@@ -178,7 +178,7 @@ void CharServerHandler::handleMessage(MessageIn *msg)
errorMessage = "Duplicated login";
break;
default:
- errorMessage = "Unkown error with 0x0081";
+ errorMessage = "Unknown error with 0x0081";
break;
}
mCharInfo->unlock();
diff --git a/src/net/equipmenthandler.cpp b/src/net/equipmenthandler.cpp
index 23a8063f..2e0cc562 100644
--- a/src/net/equipmenthandler.cpp
+++ b/src/net/equipmenthandler.cpp
@@ -117,6 +117,7 @@ void EquipmentHandler::handleMessage(MessageIn *msg)
position++;
}
logger->log("Position %i", position);
+
item = player_node->getInventory()->getItem(player_node->mEquipment->getEquipment(position));
// Unequip any existing equipped item in this position
@@ -155,6 +156,7 @@ void EquipmentHandler::handleMessage(MessageIn *msg)
break;
item->setEquipped(false);
+
if (equipPoint & 0x8000) { // Arrows
player_node->mEquipment->setArrows(0);
}
@@ -176,6 +178,7 @@ void EquipmentHandler::handleMessage(MessageIn *msg)
break;
item = inventory->getItem(index);
+
if (item) {
item->setEquipped(true);
player_node->mEquipment->setArrows(index);
diff --git a/src/net/loginhandler.cpp b/src/net/loginhandler.cpp
index 9a7aaabd..2b98e4e4 100644
--- a/src/net/loginhandler.cpp
+++ b/src/net/loginhandler.cpp
@@ -48,11 +48,11 @@ void LoginHandler::handleMessage(MessageIn *msg)
{
case 0x0063:
int len;
-
- len = msg->readInt16() - 4;
+
+ len = msg->readInt16() - 4;
mUpdateHost = msg->readString(len);
- logger->log("Received update host \"%s\" from login server",
+ logger->log("Received update host \"%s\" from login server",
mUpdateHost.c_str());
break;
@@ -107,10 +107,12 @@ void LoginHandler::handleMessage(MessageIn *msg)
errorMessage = "Rejected from server";
break;
case 4:
- errorMessage = "You have been blocked by the GM Team";
+
+ errorMessage = "You have been permanently banned from the game. Please contact the GM Team";
break;
case 6:
- errorMessage = "You have been temporarily banned from the game until " + msg->readString(20) + ".\n Please contact the GM team";
+ errorMessage = "You have been temporarily banned from the game until "
+ + msg->readString(20) + ".\n Please contact the GM team via the forums";
break;
case 9:
errorMessage = "This user name is already taken";
diff --git a/src/net/loginhandler.h b/src/net/loginhandler.h
index 1e087619..047434b4 100644
--- a/src/net/loginhandler.h
+++ b/src/net/loginhandler.h
@@ -25,6 +25,7 @@
#include <string>
#include "messagehandler.h"
+#include <string>
struct LoginData;
@@ -37,10 +38,8 @@ class LoginHandler : public MessageHandler
void setLoginData(LoginData *loginData) { mLoginData = loginData; };
- protected:
- LoginData *mLoginData;
-
private:
+ LoginData *mLoginData;
std::string mUpdateHost;
};
diff --git a/src/net/network.h b/src/net/network.h
index 856808a2..43b4dbbc 100644
--- a/src/net/network.h
+++ b/src/net/network.h
@@ -27,9 +27,9 @@
#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 */
+#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/playerhandler.cpp b/src/net/playerhandler.cpp
index c8442a89..a4a2dcc9 100644
--- a/src/net/playerhandler.cpp
+++ b/src/net/playerhandler.cpp
@@ -133,7 +133,8 @@ void PlayerHandler::handleMessage(MessageIn *msg)
player_node->stopAttack();
nearby = (engine->getCurrentMapName() == mapPath);
- // Switch the actual map, deleting the previous one
+
+ // Switch the actual map, deleting the previous one if necessary
engine->changeMap(mapPath);
current_npc = 0;
diff --git a/src/net/protocol.h b/src/net/protocol.h
index fabe6911..783283ba 100644
--- a/src/net/protocol.h
+++ b/src/net/protocol.h
@@ -27,6 +27,7 @@
*********************************/
#define SMSG_LOGIN_SUCCESS 0x0073 /**< Contains starting location */
#define SMSG_SERVER_PING 0x007f /**< Contains server tick */
+#define SMSG_UPDATE_HOST 0x0063 /**< Custom update host packet */
#define SMSG_PLAYER_UPDATE_1 0x01d8
#define SMSG_PLAYER_UPDATE_2 0x01d9
#define SMSG_PLAYER_MOVE 0x01da /**< A nearby player moves */
diff --git a/src/net/tradehandler.cpp b/src/net/tradehandler.cpp
index 11fe2c19..746e1d06 100644
--- a/src/net/tradehandler.cpp
+++ b/src/net/tradehandler.cpp
@@ -127,7 +127,7 @@ void TradeHandler::handleMessage(MessageIn *msg)
chatWindow->chatLog("Trade with " + tradePartnerName +
" cancelled", BY_SERVER);
// otherwise ignore silently
-
+
tradeWindow->setVisible(false);
player_node->setTrading(false);
break;
@@ -186,7 +186,7 @@ void TradeHandler::handleMessage(MessageIn *msg)
"partner is over weighted.",
BY_SERVER);
break;
- case 2:
+ case 2:
// Add item failed - player has no free slot
chatWindow->chatLog("Failed adding item. Trade "
"partner has no free slot.",