aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Events/GameEventMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Events/GameEventMgr.cpp')
-rw-r--r--src/server/game/Events/GameEventMgr.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp
index 407da426f24..d4425eb9c7d 100644
--- a/src/server/game/Events/GameEventMgr.cpp
+++ b/src/server/game/Events/GameEventMgr.cpp
@@ -23,6 +23,7 @@
#include "DB2Stores.h"
#include "GameObject.h"
#include "GameObjectAI.h"
+#include "GameTime.h"
#include "Language.h"
#include "Log.h"
#include "MapManager.h"
@@ -45,7 +46,7 @@ bool GameEventMgr::CheckOneGameEvent(uint16 entry) const
default:
case GAMEEVENT_NORMAL:
{
- time_t currenttime = time(nullptr);
+ time_t currenttime = GameTime::GetGameTime();
// Get the event information
return mGameEvent[entry].start < currenttime
&& currenttime < mGameEvent[entry].end
@@ -62,7 +63,7 @@ bool GameEventMgr::CheckOneGameEvent(uint16 entry) const
// if inactive world event, check the prerequisite events
case GAMEEVENT_WORLD_INACTIVE:
{
- time_t currenttime = time(nullptr);
+ time_t currenttime = GameTime::GetGameTime();
for (std::set<uint16>::const_iterator itr = mGameEvent[entry].prerequisite_events.begin(); itr != mGameEvent[entry].prerequisite_events.end(); ++itr)
{
if ((mGameEvent[*itr].state != GAMEEVENT_WORLD_NEXTPHASE && mGameEvent[*itr].state != GAMEEVENT_WORLD_FINISHED) || // if prereq not in nextphase or finished state, then can't start this one
@@ -78,7 +79,7 @@ bool GameEventMgr::CheckOneGameEvent(uint16 entry) const
uint32 GameEventMgr::NextCheck(uint16 entry) const
{
- time_t currenttime = time(nullptr);
+ time_t currenttime = GameTime::GetGameTime();
// for NEXTPHASE state world events, return the delay to start the next event, so the followup event will be checked correctly
if ((mGameEvent[entry].state == GAMEEVENT_WORLD_NEXTPHASE || mGameEvent[entry].state == GAMEEVENT_WORLD_FINISHED) && mGameEvent[entry].nextstart >= currenttime)
@@ -138,13 +139,13 @@ bool GameEventMgr::StartEvent(uint16 event_id, bool overwrite)
ApplyNewEvent(event_id);
if (overwrite)
{
- mGameEvent[event_id].start = time(nullptr);
+ mGameEvent[event_id].start = GameTime::GetGameTime();
if (data.end <= data.start)
data.end = data.start + data.length;
}
// When event is started, set its worldstate to current time
- sWorld->setWorldState(event_id, time(nullptr));
+ sWorld->setWorldState(event_id, GameTime::GetGameTime());
return false;
}
else
@@ -185,7 +186,7 @@ void GameEventMgr::StopEvent(uint16 event_id, bool overwrite)
if (overwrite && !serverwide_evt)
{
- data.start = time(nullptr) - data.length * MINUTE;
+ data.start = GameTime::GetGameTime() - data.length * MINUTE;
if (data.end <= data.start)
data.end = data.start + data.length;
}
@@ -1023,7 +1024,7 @@ void GameEventMgr::StartArenaSeason()
uint32 GameEventMgr::Update() // return the next event delay in ms
{
- time_t currenttime = time(nullptr);
+ time_t currenttime = GameTime::GetGameTime();
uint32 nextEventDelay = max_ge_check_delay; // 1 day
uint32 calcDelay;
std::set<uint16> activate, deactivate;
@@ -1618,7 +1619,7 @@ bool GameEventMgr::CheckOneGameEventConditions(uint16 event_id)
// set the followup events' start time
if (!mGameEvent[event_id].nextstart)
{
- time_t currenttime = time(nullptr);
+ time_t currenttime = GameTime::GetGameTime();
mGameEvent[event_id].nextstart = currenttime + mGameEvent[event_id].length * 60;
}
return true;
@@ -1734,7 +1735,7 @@ void GameEventMgr::SetHolidayEventTime(GameEventData& event)
bool singleDate = ((holiday->Date[0] >> 24) & 0x1F) == 31; // Events with fixed date within year have - 1
- time_t curTime = time(nullptr);
+ time_t curTime = GameTime::GetGameTime();
for (int i = 0; i < MAX_HOLIDAY_DATES && holiday->Date[i]; ++i)
{
uint32 date = holiday->Date[i];