From cb8de74ca982c59387f83047201ecd75ee1ed533 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 6 Oct 2014 01:32:56 +0300 Subject: eathena: add packet CMSG_CHAR_CHANGE_SLOT 0x08d4. --- src/net/charserverhandler.h | 2 ++ src/net/eathena/charserverhandler.cpp | 8 ++++++++ src/net/eathena/charserverhandler.h | 2 ++ src/net/eathena/protocol.h | 1 + src/net/tmwa/charserverhandler.cpp | 5 +++++ src/net/tmwa/charserverhandler.h | 2 ++ 6 files changed, 20 insertions(+) diff --git a/src/net/charserverhandler.h b/src/net/charserverhandler.h index 07135c40e..549c14688 100644 --- a/src/net/charserverhandler.h +++ b/src/net/charserverhandler.h @@ -80,6 +80,8 @@ class CharServerHandler notfinal virtual void setNewPincode(const std::string &pin) = 0; + virtual void changeSlot(const int oldSlot, const int newSlot) = 0; + protected: CharServerHandler() : mCharacters(), diff --git a/src/net/eathena/charserverhandler.cpp b/src/net/eathena/charserverhandler.cpp index 021d12811..2d89bb7d0 100644 --- a/src/net/eathena/charserverhandler.cpp +++ b/src/net/eathena/charserverhandler.cpp @@ -561,4 +561,12 @@ void CharServerHandler::processCharRename(Net::MessageIn &msg) } } +void CharServerHandler::changeSlot(const int oldSlot, const int newSlot) +{ + createOutPacket(CMSG_CHAR_CHANGE_SLOT); + outMsg.writeInt16(oldSlot, "old slot"); + outMsg.writeInt16(newSlot, "new slot"); + outMsg.writeInt16(0, "unused"); +} + } // namespace EAthena diff --git a/src/net/eathena/charserverhandler.h b/src/net/eathena/charserverhandler.h index 7f03e3093..ed27534bf 100644 --- a/src/net/eathena/charserverhandler.h +++ b/src/net/eathena/charserverhandler.h @@ -79,6 +79,8 @@ class CharServerHandler final : public MessageHandler, void setCharCreateDialog(CharCreateDialog *const window) override final; + void changeSlot(const int oldSlot, const int newSlot) override final; + protected: void readPlayerData(Net::MessageIn &msg, Net::Character *const character, diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index 71baa43be..29b372a1f 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -295,6 +295,7 @@ #define CMSG_CHAR_CREATE_PIN 0x08ba #define CMSG_CHAR_CHECK_RENAME 0x08fc #define CMSG_CHAR_RENAME 0x028f +#define CMSG_CHAR_CHANGE_SLOT 0x08d4 #define CMSG_MAP_SERVER_CONNECT 0x089c #define CMSG_MAP_PING 0x035f /**< Send to server with tick */ diff --git a/src/net/tmwa/charserverhandler.cpp b/src/net/tmwa/charserverhandler.cpp index 21857d45e..8bdd49a11 100644 --- a/src/net/tmwa/charserverhandler.cpp +++ b/src/net/tmwa/charserverhandler.cpp @@ -516,4 +516,9 @@ void CharServerHandler::renameCharacter(const int id A_UNUSED, { } +void CharServerHandler::changeSlot(const int oldSlot A_UNUSED, + const int newSlot A_UNUSED) +{ +} + } // namespace TmwAthena diff --git a/src/net/tmwa/charserverhandler.h b/src/net/tmwa/charserverhandler.h index 22e616003..38f8ce83b 100644 --- a/src/net/tmwa/charserverhandler.h +++ b/src/net/tmwa/charserverhandler.h @@ -80,6 +80,8 @@ class CharServerHandler final : public MessageHandler, void setCharCreateDialog(CharCreateDialog *const window) override final; + void changeSlot(const int oldSlot, const int newSlot) override final; + protected: void readPlayerData(Net::MessageIn &msg, Net::Character *const character, -- cgit v1.2.3-60-g2f50