From 30dceb3fa652ba03d1ec2d29f7c761688b440d4a Mon Sep 17 00:00:00 2001 From: IntelligentQuantum Date: Wed, 22 Apr 2020 02:56:47 +0430 Subject: [PATCH] feat(CORE/command): .kick will now display the kick reason (#2779) - If ShowKickInWorld is enabled, kick will now display the kick reason to all the players --- src/server/scripts/Commands/cs_misc.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index 8da4f9ebc..434a9e97d 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -1129,8 +1129,16 @@ public: if (handler->HasLowerSecurity(target, 0)) return false; + std::string kickReasonStr = handler->GetAcoreString(LANG_NO_REASON); + if (*args != '\0') + { + char const* kickReason = strtok(nullptr, "\r"); + if (kickReason != nullptr) + kickReasonStr = kickReason; + } + if (sWorld->getBoolConfig(CONFIG_SHOW_KICK_IN_WORLD)) - sWorld->SendWorldText(LANG_COMMAND_KICKMESSAGE, playerName.c_str()); + sWorld->SendWorldText(LANG_COMMAND_KICKMESSAGE_WORLD, (handler->GetSession() ? handler->GetSession()->GetPlayerName().c_str() : "Server"), playerName.c_str(), kickReasonStr.c_str()); else handler->PSendSysMessage(LANG_COMMAND_KICKMESSAGE, playerName.c_str());