aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/GameObject
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2017-12-10 12:39:37 +0100
committerjackpoz <giacomopoz@gmail.com>2017-12-24 22:50:59 +0100
commit12701cb0c6c45eb105ad449eb9a56e76d84d691e (patch)
tree9c1cded0812cddb9f7daccac81ba434a413dd0f6 /src/server/game/Entities/GameObject
parent3a536260f8cd6565726bf82e56dcb58b513b6331 (diff)
Core/Misc: Replace time(NULL) with GameTime::GetGameTime()
Diffstat (limited to 'src/server/game/Entities/GameObject')
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp34
-rw-r--r--src/server/game/Entities/GameObject/GameObject.h17
2 files changed, 30 insertions, 21 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index 358d0eb93a1..9b1878b24d4 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -464,7 +464,7 @@ void GameObject::Update(uint32 diff)
case GAMEOBJECT_TYPE_FISHINGNODE:
{
// fishing code (bobber ready)
- if (time(nullptr) > m_respawnTime - FISHING_BOBBER_READY_TIME)
+ if (GameTime::GetGameTime() > m_respawnTime - FISHING_BOBBER_READY_TIME)
{
// splash bobber (bobber ready now)
Unit* caster = GetOwner();
@@ -498,7 +498,7 @@ void GameObject::Update(uint32 diff)
{
if (m_respawnTime > 0) // timer on
{
- time_t now = time(nullptr);
+ time_t now = GameTime::GetGameTime();
if (m_respawnTime <= now) // timer expired
{
ObjectGuid dbtableHighGuid(HighGuid::GameObject, GetEntry(), m_spawnId);
@@ -776,7 +776,7 @@ void GameObject::Update(uint32 diff)
uint32 respawnDelay = m_respawnDelayTime;
if (uint32 scalingMode = sWorld->getIntConfig(CONFIG_RESPAWN_DYNAMICMODE))
GetMap()->ApplyDynamicModeRespawnScaling(this, this->m_spawnId, respawnDelay, scalingMode);
- m_respawnTime = time(nullptr) + respawnDelay;
+ m_respawnTime = GameTime::GetGameTime() + respawnDelay;
// if option not set then object will be saved at grid unload
// Otherwise just save respawn time to map object memory
@@ -987,7 +987,7 @@ bool GameObject::LoadFromDB(ObjectGuid::LowType spawnId, Map* map, bool addToMap
m_respawnTime = GetMap()->GetGORespawnTime(m_spawnId);
// ready to respawn
- if (m_respawnTime && m_respawnTime <= time(nullptr))
+ if (m_respawnTime && m_respawnTime <= GameTime::GetGameTime())
{
m_respawnTime = 0;
GetMap()->RemoveRespawnTime(SPAWN_TYPE_GAMEOBJECT, m_spawnId);
@@ -1094,7 +1094,7 @@ Unit* GameObject::GetOwner() const
void GameObject::SaveRespawnTime(uint32 forceDelay, bool savetodb)
{
- if (m_goData && m_respawnTime > time(nullptr) && m_spawnedByDefault)
+ if (m_goData && m_respawnTime > GameTime::GetGameTime() && m_spawnedByDefault)
{
if (m_respawnCompatibilityMode)
{
@@ -1102,7 +1102,7 @@ void GameObject::SaveRespawnTime(uint32 forceDelay, bool savetodb)
return;
}
- uint32 thisRespawnTime = forceDelay ? time(nullptr) + forceDelay : m_respawnTime;
+ uint32 thisRespawnTime = forceDelay ? GameTime::GetGameTime() + forceDelay : m_respawnTime;
GetMap()->SaveRespawnTime(SPAWN_TYPE_GAMEOBJECT, m_spawnId, GetEntry(), thisRespawnTime, GetZoneId(), Trinity::ComputeGridCoord(GetPositionX(), GetPositionY()).GetId(), m_goData->dbData ? savetodb : false);
}
}
@@ -1164,11 +1164,26 @@ uint8 GameObject::getLevelForTarget(WorldObject const* target) const
return 1;
}
+time_t GameObject::GetRespawnTimeEx() const
+{
+ time_t now = GameTime::GetGameTime();
+ if (m_respawnTime > now)
+ return m_respawnTime;
+ else
+ return now;
+}
+
+void GameObject::SetRespawnTime(int32 respawn)
+{
+ m_respawnTime = respawn > 0 ? GameTime::GetGameTime() + respawn : 0;
+ m_respawnDelayTime = respawn > 0 ? respawn : 0;
+}
+
void GameObject::Respawn()
{
if (m_spawnedByDefault && m_respawnTime > 0)
{
- m_respawnTime = time(nullptr);
+ m_respawnTime = GameTime::GetGameTime();
GetMap()->RemoveRespawnTime(SPAWN_TYPE_GAMEOBJECT, m_spawnId, true);
}
}
@@ -2246,6 +2261,11 @@ void GameObject::SetLootState(LootState state, Unit* unit)
}
}
+void GameObject::SetLootGenerationTime()
+{
+ m_lootGenerationTime = GameTime::GetGameTime();
+}
+
void GameObject::SetGoState(GOState state)
{
SetByteValue(GAMEOBJECT_BYTES_1, 0, state);
diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h
index 784af8fda27..d12b3305796 100644
--- a/src/server/game/Entities/GameObject/GameObject.h
+++ b/src/server/game/Entities/GameObject/GameObject.h
@@ -137,20 +137,9 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
uint32 GetSpellId() const { return m_spellId;}
time_t GetRespawnTime() const { return m_respawnTime; }
- time_t GetRespawnTimeEx() const
- {
- time_t now = time(nullptr);
- if (m_respawnTime > now)
- return m_respawnTime;
- else
- return now;
- }
+ time_t GetRespawnTimeEx() const;
- void SetRespawnTime(int32 respawn)
- {
- m_respawnTime = respawn > 0 ? time(nullptr) + respawn : 0;
- m_respawnDelayTime = respawn > 0 ? respawn : 0;
- }
+ void SetRespawnTime(int32 respawn);
void Respawn();
bool isSpawned() const
{
@@ -191,7 +180,7 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
void AddLootMode(uint16 lootMode) { m_LootMode |= lootMode; }
void RemoveLootMode(uint16 lootMode) { m_LootMode &= ~lootMode; }
void ResetLootMode() { m_LootMode = LOOT_MODE_DEFAULT; }
- void SetLootGenerationTime() { m_lootGenerationTime = time(nullptr); }
+ void SetLootGenerationTime();
uint32 GetLootGenerationTime() const { return m_lootGenerationTime; }
void AddToSkillupList(ObjectGuid::LowType PlayerGuidLow) { m_SkillupList.push_back(PlayerGuidLow); }