aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp5
-rw-r--r--src/server/game/Entities/Player/Player.h1
-rw-r--r--src/server/game/Handlers/ChatHandler.cpp4
-rw-r--r--src/server/game/Server/WorldSession.cpp6
-rw-r--r--src/server/game/Server/WorldSession.h1
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp2
6 files changed, 10 insertions, 9 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index eb4479c51ca..aa3c1b96ffa 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -21333,11 +21333,6 @@ void Player::UpdateSpeakTime()
m_speakTime = current + sWorld->getIntConfig(CONFIG_CHATFLOOD_MESSAGE_DELAY);
}
-bool Player::CanSpeak() const
-{
- return GetSession()->m_muteTime <= time (nullptr);
-}
-
/*********************************************************/
/*** LOW LEVEL FUNCTIONS:Notifiers ***/
/*********************************************************/
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index db12068a623..9e069fa8e5f 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -2125,7 +2125,6 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
/*********************************************************/
void UpdateSpeakTime();
- bool CanSpeak() const;
/*********************************************************/
/*** VARIOUS SYSTEMS ***/
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp
index b5a329e7093..f0ec34335b4 100644
--- a/src/server/game/Handlers/ChatHandler.cpp
+++ b/src/server/game/Handlers/ChatHandler.cpp
@@ -168,7 +168,7 @@ void WorldSession::HandleChatMessage(ChatMsg type, uint32 lang, std::string msg,
lang = ModLangAuras.front()->GetMiscValue();
}
- if (!sender->CanSpeak())
+ if (!CanSpeak())
{
std::string timeStr = secsToTimeString(m_muteTime - time(NULL));
SendNotification(GetTrinityString(LANG_WAIT_BEFORE_SPEAKING), timeStr.c_str());
@@ -583,7 +583,7 @@ void WorldSession::HandleTextEmoteOpcode(WorldPackets::Chat::CTextEmote& packet)
if (!_player->IsAlive())
return;
- if (!_player->CanSpeak())
+ if (!CanSpeak())
{
std::string timeStr = secsToTimeString(m_muteTime - time(NULL));
SendNotification(GetTrinityString(LANG_WAIT_BEFORE_SPEAKING), timeStr.c_str());
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp
index a4c08c47c1d..21993a4d311 100644
--- a/src/server/game/Server/WorldSession.cpp
+++ b/src/server/game/Server/WorldSession.cpp
@@ -29,6 +29,7 @@
#include "CharacterPackets.h"
#include "ChatPackets.h"
#include "DatabaseEnv.h"
+#include "GameTime.h"
#include "Group.h"
#include "Guild.h"
#include "GuildMgr.h"
@@ -685,6 +686,11 @@ void WorldSession::SendNotification(uint32 stringId, ...)
}
}
+bool WorldSession::CanSpeak() const
+{
+ return m_muteTime <= GameTime::GetGameTime();
+}
+
char const* WorldSession::GetTrinityString(uint32 entry) const
{
return sObjectMgr->GetTrinityString(entry, GetSessionDbLocaleIndex());
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index d7f8dbaade6..fcfef949e75 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -1072,6 +1072,7 @@ class TC_GAME_API WorldSession
void DoLootReleaseAll();
// Account mute time
+ bool CanSpeak() const;
time_t m_muteTime;
// Locales
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp
index 4487ff6427b..87f2e1125f7 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -2078,7 +2078,7 @@ public:
if (target)
{
- if (target->CanSpeak())
+ if (target->GetSession()->CanSpeak())
{
handler->SendSysMessage(LANG_CHAT_ALREADY_ENABLED);
handler->SetSentErrorMessage(true);