summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/Makefile.am1
-rw-r--r--src/net/beinghandler.h3
-rw-r--r--src/net/eathena/beinghandler.cpp6
-rw-r--r--src/net/eathena/beinghandler.h2
-rw-r--r--src/net/eathena/protocol.h1
-rw-r--r--src/net/tmwa/beinghandler.cpp4
-rw-r--r--src/net/tmwa/beinghandler.h2
8 files changed, 20 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index c569a3335..4220c984c 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -969,6 +969,7 @@ SET(SRCS
being/playerrelation.h
being/playerrelations.cpp
being/playerrelations.h
+ being/rank.h
being/targetcursorsize.h
being/targetcursortype.h
listeners/playerrelationslistener.h
diff --git a/src/Makefile.am b/src/Makefile.am
index 61a992e03..feda2286f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1087,6 +1087,7 @@ manaplus_SOURCES += gui/widgets/avatarlistbox.cpp \
being/playerrelation.h \
being/playerrelations.cpp \
being/playerrelations.h \
+ being/rank.h \
being/targetcursorsize.h \
being/targetcursortype.h \
listeners/playerrelationslistener.h \
diff --git a/src/net/beinghandler.h b/src/net/beinghandler.h
index b2b3b96b0..56f2579d9 100644
--- a/src/net/beinghandler.h
+++ b/src/net/beinghandler.h
@@ -23,6 +23,7 @@
#define NET_BEINGHANDLER_H
#include "being/being.h"
+#include "being/rank.h"
#include "net/messagein.h"
@@ -40,6 +41,8 @@ class BeingHandler notfinal
virtual void requestNameById(const int id) const = 0;
virtual void undress(Being *const being) const = 0;
+
+ virtual void requestRanks(const Rank::Rank rank) const = 0;
};
} // namespace Net
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 267ed3f7b..7a45bb346 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -250,6 +250,12 @@ void BeingHandler::undress(Being *const being) const
// being->setSprite(SPRITE_WEAPON, 0, "", true);
}
+void BeingHandler::requestRanks(const Rank::Rank rank) const
+{
+ MessageOut outMsg(CMSG_REQUEST_RANKS);
+ outMsg.writeInt16(static_cast<int16_t>(rank), "type");
+}
+
void BeingHandler::processBeingChangeLook(Net::MessageIn &msg) const
{
if (!actorManager)
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index ce0fe8636..e17ea3306 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -43,6 +43,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
void undress(Being *const being) const override final;
+ void requestRanks(const Rank::Rank rank) const override final;
+
protected:
void processBeingChangeLook(Net::MessageIn &msg) const;
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 243e2ed6c..ca29b44b3 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -304,6 +304,7 @@
#define CMSG_SOLVE_CHAR_NAME 0x0368
#define CMSG_IGNORE_ALL 0x00d0
+#define CMSG_REQUEST_RANKS 0x097c
#define SMSG_SOLVE_CHAR_NAME 0x0194
#define SMSG_SKILL_CASTING 0x07fb
diff --git a/src/net/tmwa/beinghandler.cpp b/src/net/tmwa/beinghandler.cpp
index 90ec926ba..ef8d3e780 100644
--- a/src/net/tmwa/beinghandler.cpp
+++ b/src/net/tmwa/beinghandler.cpp
@@ -238,6 +238,10 @@ void BeingHandler::undress(Being *const being) const
// being->setSprite(SPRITE_WEAPON, 0, "", true);
}
+void BeingHandler::requestRanks(const Rank::Rank rank A_UNUSED) const
+{
+}
+
void BeingHandler::processBeingChangeLook(Net::MessageIn &msg) const
{
BLOCK_START("BeingHandler::processBeingChangeLook")
diff --git a/src/net/tmwa/beinghandler.h b/src/net/tmwa/beinghandler.h
index 34b464c41..ca7da87b7 100644
--- a/src/net/tmwa/beinghandler.h
+++ b/src/net/tmwa/beinghandler.h
@@ -43,6 +43,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
void undress(Being *const being) const override final;
+ void requestRanks(const Rank::Rank rank A_UNUSED) const override final;
+
protected:
void processBeingChangeLook(Net::MessageIn &msg) const;