feat(core): Ensure that all actions are compared to fixed point in time (#1236) (#1458)

i.e. world update start
This commit is contained in:
Viste(Кирилл)
2019-02-14 21:22:17 +03:00
committed by Francesco Borzì
parent 1b7522ff0e
commit 51b8773528
108 changed files with 933 additions and 509 deletions

View File

@@ -12,6 +12,7 @@
#include <string>
#include "Common.h"
#include "GameTime.h"
#include "Opcodes.h"
#include "WorldPacket.h"
@@ -139,7 +140,6 @@ class Channel
{
uint64 player;
uint8 flags;
uint32 lastSpeakTime; // pussywizard
Player* plrPtr; // pussywizard
bool HasFlag(uint8 flag) const { return flags & flag; }
@@ -162,16 +162,6 @@ class Channel
if (state) flags |= MEMBER_FLAG_MUTED;
else flags &= ~MEMBER_FLAG_MUTED;
}
bool IsAllowedToSpeak(uint32 speakDelay) // pussywizard
{
if (lastSpeakTime+speakDelay <= sWorld->GetGameTime())
{
lastSpeakTime = sWorld->GetGameTime();
return true;
}
else
return false;
}
};
public:
@@ -219,6 +209,7 @@ class Channel
// pussywizard:
void AddWatching(Player* p);
void RemoveWatching(Player* p);
bool IsAllowedToSpeak(uint32 speakDelay); // pussywizard
private:
// initial packet data (notify type and channel name)
@@ -320,6 +311,7 @@ class Channel
uint32 _channelDBId;
TeamId _teamId;
uint64 _ownerGUID;
uint32 lastSpeakTime;
std::string _name;
std::string _password;
ChannelRights _channelRights;