mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-17 10:55:43 +00:00
feat(Core/Time): Implement saparated manager for game time (#8630)
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#include "Chat.h"
|
||||
#include "Config.h"
|
||||
#include "DatabaseEnv.h"
|
||||
#include "GameTime.h"
|
||||
#include "GuildMgr.h"
|
||||
#include "GuildPackets.h"
|
||||
#include "Language.h"
|
||||
@@ -172,6 +173,9 @@ inline uint32 Guild::LogHolder<Entry>::GetNextGUID()
|
||||
return m_nextGUID;
|
||||
}
|
||||
|
||||
Guild::LogEntry::LogEntry(uint32 guildId, ObjectGuid::LowType guid) :
|
||||
m_guildId(guildId), m_guid(guid), m_timestamp(GameTime::GetGameTime().count()) { }
|
||||
|
||||
// EventLogEntry
|
||||
void Guild::EventLogEntry::SaveToDB(CharacterDatabaseTransaction trans) const
|
||||
{
|
||||
@@ -201,7 +205,7 @@ void Guild::EventLogEntry::WritePacket(WorldPackets::Guild::GuildEventLogQueryRe
|
||||
eventEntry.PlayerGUID = playerGUID;
|
||||
eventEntry.OtherGUID = otherGUID;
|
||||
eventEntry.TransactionType = uint8(m_eventType);
|
||||
eventEntry.TransactionDate = uint32(::time(nullptr) - m_timestamp);
|
||||
eventEntry.TransactionDate = uint32(GameTime::GetGameTime().count() - m_timestamp);
|
||||
eventEntry.RankID = uint8(m_newRank);
|
||||
packet.Entry.push_back(eventEntry);
|
||||
}
|
||||
@@ -235,7 +239,7 @@ void Guild::BankEventLogEntry::WritePacket(WorldPackets::Guild::GuildBankLogQuer
|
||||
{
|
||||
WorldPackets::Guild::GuildBankLogEntry bankLogEntry;
|
||||
bankLogEntry.PlayerGUID = ObjectGuid::Create<HighGuid::Player>(m_playerGuid.GetCounter());
|
||||
bankLogEntry.TimeOffset = int32(::time(nullptr) - m_timestamp);
|
||||
bankLogEntry.TimeOffset = int32(GameTime::GetGameTime().count() - m_timestamp);
|
||||
bankLogEntry.EntryType = int8(m_eventType);
|
||||
|
||||
switch(m_eventType)
|
||||
@@ -576,6 +580,11 @@ void Guild::Member::ChangeRank(uint8 newRank)
|
||||
CharacterDatabase.Execute(stmt);
|
||||
}
|
||||
|
||||
void Guild::Member::UpdateLogoutTime()
|
||||
{
|
||||
m_logoutTime = GameTime::GetGameTime().count();
|
||||
}
|
||||
|
||||
void Guild::Member::SaveToDB(CharacterDatabaseTransaction trans) const
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_GUILD_MEMBER);
|
||||
@@ -1050,7 +1059,7 @@ bool Guild::Create(Player* pLeader, std::string_view name)
|
||||
m_info = "";
|
||||
m_motd = "No message set.";
|
||||
m_bankMoney = 0;
|
||||
m_createdDate = sWorld->GetGameTime();
|
||||
m_createdDate = GameTime::GetGameTime().count();
|
||||
|
||||
LOG_DEBUG("guild", "GUILD: creating guild [%s] for leader %s (%s)",
|
||||
m_name.c_str(), pLeader->GetName().c_str(), m_leaderGuid.ToString().c_str());
|
||||
@@ -1198,7 +1207,7 @@ void Guild::HandleRoster(WorldSession* session)
|
||||
memberData.Guid = member.GetGUID();
|
||||
memberData.RankID = int32(member.GetRankId());
|
||||
memberData.AreaID = int32(member.GetZoneId());
|
||||
memberData.LastSave = float(float(::time(nullptr) - member.GetLogoutTime()) / DAY);
|
||||
memberData.LastSave = float(float(GameTime::GetGameTime().count() - member.GetLogoutTime()) / DAY);
|
||||
|
||||
memberData.Status = member.GetFlags();
|
||||
memberData.Level = member.GetLevel();
|
||||
|
||||
Reference in New Issue
Block a user