summaryrefslogtreecommitdiff
path: root/src/net/tmwa/playerhandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/tmwa/playerhandler.cpp')
-rw-r--r--src/net/tmwa/playerhandler.cpp150
1 files changed, 13 insertions, 137 deletions
diff --git a/src/net/tmwa/playerhandler.cpp b/src/net/tmwa/playerhandler.cpp
index f0d9d5b08..312a95644 100644
--- a/src/net/tmwa/playerhandler.cpp
+++ b/src/net/tmwa/playerhandler.cpp
@@ -27,8 +27,11 @@
#include "gui/windows/statuswindow.h"
+#include "net/ea/playerrecv.h"
+
#include "net/tmwa/inventoryhandler.h"
#include "net/tmwa/messageout.h"
+#include "net/tmwa/playerrecv.h"
#include "net/tmwa/protocol.h"
#include "debug.h"
@@ -67,44 +70,44 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
switch (msg.getId())
{
case SMSG_WALK_RESPONSE:
- processWalkResponse(msg);
+ PlayerRecv::processWalkResponse(msg);
break;
case SMSG_PLAYER_WARP:
- processPlayerWarp(msg);
+ Ea::PlayerRecv::processPlayerWarp(msg);
break;
case SMSG_PLAYER_STAT_UPDATE_1:
- processPlayerStatUpdate1(msg);
+ Ea::PlayerRecv::processPlayerStatUpdate1(msg);
break;
case SMSG_PLAYER_STAT_UPDATE_2:
- processPlayerStatUpdate2(msg);
+ Ea::PlayerRecv::processPlayerStatUpdate2(msg);
break;
case SMSG_PLAYER_STAT_UPDATE_3: // Update a base attribute
- processPlayerStatUpdate3(msg);
+ Ea::PlayerRecv::processPlayerStatUpdate3(msg);
break;
case SMSG_PLAYER_STAT_UPDATE_4: // Attribute increase ack
- processPlayerStatUpdate4(msg);
+ Ea::PlayerRecv::processPlayerStatUpdate4(msg);
break;
// Updates stats and status points
case SMSG_PLAYER_STAT_UPDATE_5:
- processPlayerStatUpdate5(msg);
+ PlayerRecv::processPlayerStatUpdate5(msg);
break;
case SMSG_PLAYER_STAT_UPDATE_6:
- processPlayerStatUpdate6(msg);
+ Ea::PlayerRecv::processPlayerStatUpdate6(msg);
break;
case SMSG_PLAYER_ARROW_MESSAGE:
- processPlayerArrowMessage(msg);
+ Ea::PlayerRecv::processPlayerArrowMessage(msg);
break;
case SMSG_MAP_MUSIC:
- processMapMusic(msg);
+ Ea::PlayerRecv::processMapMusic(msg);
break;
default:
@@ -235,133 +238,6 @@ void PlayerHandler::updateStatus(const uint8_t status A_UNUSED) const
{
}
-void PlayerHandler::processPlayerStatUpdate5(Net::MessageIn &msg)
-{
- BLOCK_START("PlayerHandler::processPlayerStatUpdate5")
- PlayerInfo::setAttribute(Attributes::CHAR_POINTS,
- msg.readInt16("char points"));
-
- unsigned int val = msg.readUInt8("str");
- PlayerInfo::setStatBase(Attributes::STR, val);
- if (statusWindow)
- {
- statusWindow->setPointsNeeded(Attributes::STR,
- msg.readUInt8("str cost"));
- }
- else
- {
- msg.readUInt8("str cost");
- }
-
- val = msg.readUInt8("agi");
- PlayerInfo::setStatBase(Attributes::AGI, val);
- if (statusWindow)
- {
- statusWindow->setPointsNeeded(Attributes::AGI,
- msg.readUInt8("agi cost"));
- }
- else
- {
- msg.readUInt8("agi cost");
- }
-
- val = msg.readUInt8("vit");
- PlayerInfo::setStatBase(Attributes::VIT, val);
- if (statusWindow)
- {
- statusWindow->setPointsNeeded(Attributes::VIT,
- msg.readUInt8("vit cost"));
- }
- else
- {
- msg.readUInt8("vit cost");
- }
-
- val = msg.readUInt8("int");
- PlayerInfo::setStatBase(Attributes::INT, val);
- if (statusWindow)
- {
- statusWindow->setPointsNeeded(Attributes::INT,
- msg.readUInt8("int cost"));
- }
- else
- {
- msg.readUInt8("int cost");
- }
-
- val = msg.readUInt8("dex");
- PlayerInfo::setStatBase(Attributes::DEX, val);
- if (statusWindow)
- {
- statusWindow->setPointsNeeded(Attributes::DEX,
- msg.readUInt8("dex cost"));
- }
- else
- {
- msg.readUInt8("dex cost");
- }
-
- val = msg.readUInt8("luk");
- PlayerInfo::setStatBase(Attributes::LUK, val);
- if (statusWindow)
- {
- statusWindow->setPointsNeeded(Attributes::LUK,
- msg.readUInt8("luk cost"));
- }
- else
- {
- msg.readUInt8("luk cost");
- }
-
- PlayerInfo::setStatBase(Attributes::ATK,
- msg.readInt16("atk"), Notify_false);
- PlayerInfo::setStatMod(Attributes::ATK, msg.readInt16("atk+"));
- PlayerInfo::updateAttrs();
-
- val = msg.readInt16("matk");
- PlayerInfo::setStatBase(Attributes::MATK, val, Notify_false);
-
- val = msg.readInt16("matk+");
- PlayerInfo::setStatMod(Attributes::MATK, val);
-
- PlayerInfo::setStatBase(Attributes::DEF,
- msg.readInt16("def"), Notify_false);
- PlayerInfo::setStatMod(Attributes::DEF, msg.readInt16("def+"));
-
- PlayerInfo::setStatBase(Attributes::MDEF,
- msg.readInt16("mdef"), Notify_false);
- PlayerInfo::setStatMod(Attributes::MDEF, msg.readInt16("mdef+"));
-
- PlayerInfo::setStatBase(Attributes::HIT, msg.readInt16("hit"));
-
- PlayerInfo::setStatBase(Attributes::FLEE,
- msg.readInt16("flee"), Notify_false);
- PlayerInfo::setStatMod(Attributes::FLEE, msg.readInt16("flee+"));
-
- PlayerInfo::setStatBase(Attributes::CRIT, msg.readInt16("crit"));
-
- PlayerInfo::setStatBase(Attributes::MANNER, msg.readInt16("manner"));
- msg.readInt16("unused?");
- BLOCK_END("PlayerHandler::processPlayerStatUpdate5")
-}
-
-void PlayerHandler::processWalkResponse(Net::MessageIn &msg)
-{
- BLOCK_START("PlayerHandler::processWalkResponse")
- /*
- * This client assumes that all walk messages succeed,
- * and that the server will send a correction notice
- * otherwise.
- */
- uint16_t srcX, srcY, dstX, dstY;
- msg.readInt32("tick");
- msg.readCoordinatePair(srcX, srcY, dstX, dstY, "move path");
- msg.readUInt8("unused");
- if (localPlayer)
- localPlayer->setRealPos(dstX, dstY);
- BLOCK_END("PlayerHandler::processWalkResponse")
-}
-
void PlayerHandler::setShortcut(const int idx A_UNUSED,
const uint8_t type A_UNUSED,
const int id A_UNUSED,