aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/GameObject
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2017-12-10 12:39:37 +0100
committerfunjoker <funjoker109@gmail.com>2021-04-15 05:53:27 +0200
commite17e4e6f0700c7d950e1b2654c217ec8b28ae79e (patch)
tree8d78ebf4f2d95c6a18075840f6d02b62b4c6fcad /src/server/game/Entities/GameObject
parent76b2d37259c8beb3cc1b698eb28fd7e068366724 (diff)
Core/Misc: Replace time(NULL) with GameTime::GetGameTime()
(cherry picked from commit 12701cb0c6c45eb105ad449eb9a56e76d84d691e) Conflicts: src/server/game/Achievements/AchievementMgr.cpp src/server/game/AuctionHouse/AuctionHouseMgr.cpp src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp src/server/game/Battlefield/Battlefield.cpp src/server/game/Battlefield/Zones/BattlefieldWG.cpp src/server/game/Battlegrounds/BattlegroundMgr.cpp src/server/game/Calendar/CalendarMgr.h src/server/game/DungeonFinding/LFGQueue.cpp src/server/game/Entities/Corpse/Corpse.cpp src/server/game/Entities/Creature/Creature.cpp src/server/game/Entities/Item/Item.cpp src/server/game/Entities/Pet/Pet.cpp src/server/game/Entities/Player/Player.cpp src/server/game/Entities/Unit/Unit.cpp src/server/game/Globals/ObjectMgr.cpp src/server/game/Grids/ObjectGridLoader.cpp src/server/game/Guilds/Guild.cpp src/server/game/Handlers/AuctionHouseHandler.cpp src/server/game/Handlers/BattlefieldHandler.cpp src/server/game/Handlers/CalendarHandler.cpp src/server/game/Handlers/CharacterHandler.cpp src/server/game/Handlers/ChatHandler.cpp src/server/game/Handlers/LFGHandler.cpp src/server/game/Handlers/MailHandler.cpp src/server/game/Handlers/MiscHandler.cpp src/server/game/Handlers/MovementHandler.cpp src/server/game/Handlers/PetHandler.cpp src/server/game/Handlers/QueryHandler.cpp src/server/game/Handlers/TicketHandler.cpp src/server/game/Instances/InstanceSaveMgr.cpp src/server/game/Server/WorldSession.cpp src/server/game/Server/WorldSocket.cpp src/server/game/Spells/Auras/SpellAuras.cpp src/server/game/Tickets/TicketMgr.cpp src/server/game/Tickets/TicketMgr.h src/server/game/World/World.cpp src/server/scripts/Commands/cs_gobject.cpp src/server/scripts/Commands/cs_instance.cpp src/server/scripts/Commands/cs_list.cpp src/server/scripts/Northrend/zone_wintergrasp.cpp src/server/scripts/Spells/spell_item.cpp
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 a91ec5c23ff..13ecb688257 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -589,7 +589,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();
@@ -623,7 +623,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 = ObjectGuid::Create<HighGuid::GameObject>(GetMapId(), GetEntry(), m_spawnId);
@@ -903,7 +903,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
@@ -1139,7 +1139,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);
@@ -1246,7 +1246,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)
{
@@ -1254,7 +1254,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);
}
}
@@ -1319,11 +1319,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);
}
}
@@ -2454,6 +2469,11 @@ void GameObject::SetLootState(LootState state, Unit* unit)
}
}
+void GameObject::SetLootGenerationTime()
+{
+ m_lootGenerationTime = GameTime::GetGameTime();
+}
+
void GameObject::SetGoState(GOState state)
{
SetUpdateFieldValue(m_values.ModifyValue(&GameObject::m_gameObjectData).ModifyValue(&UF::GameObjectData::State), state);
diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h
index a0700a24fc5..ea4d55f963d 100644
--- a/src/server/game/Entities/GameObject/GameObject.h
+++ b/src/server/game/Entities/GameObject/GameObject.h
@@ -150,20 +150,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
{
@@ -210,7 +199,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 const& PlayerGuidLow) { m_SkillupList.insert(PlayerGuidLow); }