mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-24 14:16:31 +00:00
Revert "feat(core): Ensure that all actions are compared to fixed point in time (#1236) (#1458)" (#1471)
This reverts commit 51b8773528.
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
#include "ChannelMgr.h"
|
||||
#include "Chat.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "GameTime.h"
|
||||
#include "SocialMgr.h"
|
||||
#include "World.h"
|
||||
#include "DatabaseEnv.h"
|
||||
@@ -23,7 +22,6 @@ Channel::Channel(std::string const& name, uint32 channelId, uint32 channelDBId,
|
||||
_channelDBId(channelDBId),
|
||||
_teamId(teamId),
|
||||
_ownerGUID(0),
|
||||
lastSpeakTime(0),
|
||||
_name(name),
|
||||
_password("")
|
||||
{
|
||||
@@ -85,7 +83,7 @@ Channel::Channel(std::string const& name, uint32 channelId, uint32 channelDBId,
|
||||
bool Channel::IsBanned(uint64 guid) const
|
||||
{
|
||||
BannedContainer::const_iterator itr = bannedStore.find(GUID_LOPART(guid));
|
||||
return itr != bannedStore.end() && itr->second > GameTime::GetGameTime();
|
||||
return itr != bannedStore.end() && itr->second > time(NULL);
|
||||
}
|
||||
|
||||
void Channel::UpdateChannelInDB() const
|
||||
@@ -200,6 +198,7 @@ void Channel::JoinChannel(Player* player, std::string const& pass)
|
||||
PlayerInfo pinfo;
|
||||
pinfo.player = guid;
|
||||
pinfo.flags = MEMBER_FLAG_NONE;
|
||||
pinfo.lastSpeakTime = 0;
|
||||
pinfo.plrPtr = player;
|
||||
|
||||
playersStore[guid] = pinfo;
|
||||
@@ -406,8 +405,8 @@ void Channel::KickOrBan(Player const* player, std::string const& badname, bool b
|
||||
{
|
||||
if (!IsBanned(victim))
|
||||
{
|
||||
bannedStore[GUID_LOPART(victim)] = GameTime::GetGameTime() + CHANNEL_BAN_DURATION;
|
||||
AddChannelBanToDB(GUID_LOPART(victim), GameTime::GetGameTime() + CHANNEL_BAN_DURATION);
|
||||
bannedStore[GUID_LOPART(victim)] = time(NULL) + CHANNEL_BAN_DURATION;
|
||||
AddChannelBanToDB(GUID_LOPART(victim), time(NULL) + CHANNEL_BAN_DURATION);
|
||||
|
||||
if (notify)
|
||||
{
|
||||
@@ -787,9 +786,9 @@ void Channel::Say(uint64 guid, std::string const& what, uint32 lang)
|
||||
else if (playersStore.size() >= 10)
|
||||
speakDelay = 5;
|
||||
|
||||
if (IsAllowedToSpeak(speakDelay))
|
||||
if (!pinfo.IsAllowedToSpeak(speakDelay))
|
||||
{
|
||||
std::string timeStr = secsToTimeString(lastSpeakTime + speakDelay - GameTime::GetGameTime());
|
||||
std::string timeStr = secsToTimeString(pinfo.lastSpeakTime + speakDelay - sWorld->GetGameTime());
|
||||
if (_channelRights.speakMessage.length() > 0)
|
||||
player->GetSession()->SendNotification("%s", _channelRights.speakMessage.c_str());
|
||||
player->GetSession()->SendNotification("You must wait %s before speaking again.", timeStr.c_str());
|
||||
@@ -1236,14 +1235,3 @@ void Channel::RemoveWatching(Player* p)
|
||||
if (itr != playersWatchingStore.end())
|
||||
playersWatchingStore.erase(itr);
|
||||
}
|
||||
|
||||
bool Channel::IsAllowedToSpeak(uint32 speakDelay)
|
||||
{
|
||||
if (lastSpeakTime+speakDelay <= GameTime::GetGameTime())
|
||||
{
|
||||
lastSpeakTime = GameTime::GetGameTime();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user