summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/beinghandler.cpp15
-rw-r--r--src/net/eathena/beinghandler.h5
2 files changed, 15 insertions, 5 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 82a40ee78..91a467bbf 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -289,7 +289,6 @@ void BeingHandler::processBeingChangeLook(Net::MessageIn &msg) const
const uint8_t type = msg.readUInt8("type");
int id = 0;
unsigned int id2 = 0U;
- const std::string color;
const bool look2 = msg.getId() == SMSG_BEING_CHANGE_LOOKS2;
if (!look2)
@@ -305,15 +304,21 @@ void BeingHandler::processBeingChangeLook(Net::MessageIn &msg) const
id2 = 1;
}
- if (!dstBeing)
+ if (!localPlayer || !dstBeing)
return;
+ processBeingChangeLookContinue(dstBeing, type, id, id2);
+}
+
+void BeingHandler::processBeingChangeLookContinue(Being *const dstBeing,
+ const uint8_t type,
+ const int id,
+ const int id2) const
+{
if (dstBeing->getType() == ActorType::PLAYER)
dstBeing->setOtherTime();
- if (!localPlayer)
- return;
-
+ const std::string color;
switch (type)
{
case 0: // change race
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index 9d70bd860..0d4c71a77 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -75,6 +75,11 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
void processRanksList(Net::MessageIn &msg) const;
void processBeingChangeDirection(Net::MessageIn &msg) const;
+
+ void processBeingChangeLookContinue(Being *const dstBeing,
+ const uint8_t type,
+ const int id,
+ const int id2) const;
};
} // namespace EAthena