summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/adminhandler.cpp13
-rw-r--r--src/net/eathena/adminhandler.h2
-rw-r--r--src/net/eathena/protocol.h1
3 files changed, 12 insertions, 4 deletions
diff --git a/src/net/eathena/adminhandler.cpp b/src/net/eathena/adminhandler.cpp
index 2ec6919c2..c4b55def4 100644
--- a/src/net/eathena/adminhandler.cpp
+++ b/src/net/eathena/adminhandler.cpp
@@ -134,10 +134,17 @@ void AdminHandler::recallName(const std::string &name) const
outMsg.writeString(name, 24, "name");
}
-void AdminHandler::mute(const int playerId A_UNUSED, const int type A_UNUSED,
- const int limit A_UNUSED) const
+void AdminHandler::mute(const Being *const being,
+ const int type,
+ const int limit) const
{
- return;
+ if (!being)
+ return;
+
+ MessageOut outMsg(CMSG_ADMIN_MUTE);
+ outMsg.writeInt32(being->getId(), "account id");
+ outMsg.writeInt8(type, "type");
+ outMsg.writeInt16(limit, "value");
}
} // namespace EAthena
diff --git a/src/net/eathena/adminhandler.h b/src/net/eathena/adminhandler.h
index 80357657f..54c06e02f 100644
--- a/src/net/eathena/adminhandler.h
+++ b/src/net/eathena/adminhandler.h
@@ -60,7 +60,7 @@ class AdminHandler final : public MessageHandler, public Ea::AdminHandler
void recallName(const std::string &name) const override final;
- void mute(const int playerId,
+ void mute(const Being *const being,
const int type,
const int limit) const override final;
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 4ee56c31d..b572f4958 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -305,6 +305,7 @@
#define CMSG_ADMIN_RESET_PLAYER 0x0197
#define CMSG_ADMIN_GOTO 0x01bb
#define CMSG_ADMIN_RECALL 0x01bd
+#define CMSG_ADMIN_MUTE 0x0149
#define CMSG_GUILD_CHECK_MASTER 0x014d
#define CMSG_GUILD_REQUEST_INFO 0x014f