From 0dcc22907114508141cbabbca69aeaa0791feb79 Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Wed, 27 Jul 2011 17:51:57 +0200 Subject: Core/Commands: Allow muting offline players - the mute will become effective on next player login. --- src/server/game/Server/WorldSocket.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/server/game/Server') diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp index fb152cfd331..8c854b7d30c 100755 --- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -889,7 +889,13 @@ int WorldSocket::HandleAuthSession (WorldPacket& recvPacket) K.SetHexStr (fields[1].GetCString()); - time_t mutetime = time_t (fields[7].GetUInt64()); + int64 mutetime = fields[7].GetInt64(); + //! Negative mutetime indicates amount of seconds to be muted effective on next login - which is now. + if (mutetime < 0) + { + mutetime = time(NULL) + abs(mutetime); + LoginDatabase.PExecute("UPDATE account SET mutetime = " SI64FMTD " WHERE id = '%u'", mutetime, id); + } locale = LocaleConstant (fields[8].GetUInt8()); if (locale >= TOTAL_LOCALES) -- cgit v1.2.3