diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp index cde48d54f..4c9a2330a 100644 --- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -543,6 +543,17 @@ void WorldSocket::HandleAuthSessionCallback(std::shared_ptr authSes } } + //! Negative mutetime indicates amount of minutes to be muted effective on next login - which is now. + if (account.MuteTime < 0) + { + account.MuteTime = time(nullptr) + llabs(account.MuteTime); + + auto* stmt = LoginDatabase.GetPreparedStatement(LOGIN_UPD_MUTE_TIME_LOGIN); + stmt->setInt64(0, account.MuteTime); + stmt->setUInt32(1, account.Id); + LoginDatabase.Execute(stmt); + } + if (account.IsBanned) { SendAuthResponseError(AUTH_BANNED);