summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/net/charserverhandler.h2
-rw-r--r--src/net/eathena/charserverhandler.cpp8
-rw-r--r--src/net/eathena/charserverhandler.h2
-rw-r--r--src/net/eathena/protocol.h1
-rw-r--r--src/net/tmwa/charserverhandler.cpp5
-rw-r--r--src/net/tmwa/charserverhandler.h2
6 files changed, 20 insertions, 0 deletions
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,