aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/World
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-05-08 00:03:15 +0200
committerShauren <shauren.trinity@gmail.com>2015-05-08 00:03:15 +0200
commit5b725db033c656bda5e718ea05a79005946e089e (patch)
treec15ad544c542cdd7dd7cb395c8ec6d3d35e4d2e9 /src/server/game/World
parent0972552e84068cf453231b372bcb232cf2d2f42b (diff)
Core/Garrisons: Basics for garrisons
Diffstat (limited to 'src/server/game/World')
-rw-r--r--src/server/game/World/World.cpp14
-rw-r--r--src/server/game/World/World.h2
2 files changed, 12 insertions, 4 deletions
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index c06a4f8060e..9b8c63000fc 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -38,6 +38,7 @@
#include "DatabaseEnv.h"
#include "DisableMgr.h"
#include "GameEventMgr.h"
+#include "GarrisonMgr.h"
#include "GridNotifiersImpl.h"
#include "GroupMgr.h"
#include "GuildFinderMgr.h"
@@ -1871,6 +1872,9 @@ void World::SetInitialWorldSettings()
TC_LOG_INFO("server.loading", "Loading client addons...");
AddonMgr::LoadFromDB();
+ TC_LOG_INFO("server.loading", "Loading garrison info...");
+ sGarrisonMgr.Initialize();
+
///- Handle outdated emails (delete/return)
TC_LOG_INFO("server.loading", "Returning old mails...");
sObjectMgr->ReturnOrDeleteOldMails(false);
@@ -2123,7 +2127,7 @@ void World::Update(uint32 diff)
/// Handle daily quests reset time
if (m_gameTime > m_NextDailyQuestReset)
{
- ResetDailyQuests();
+ DailyReset();
m_NextDailyQuestReset += DAY;
}
@@ -3052,16 +3056,20 @@ void World::InitCurrencyResetTime()
sWorld->setWorldState(WS_CURRENCY_RESET_TIME, uint64(m_NextCurrencyReset));
}
-void World::ResetDailyQuests()
+void World::DailyReset()
{
TC_LOG_INFO("misc", "Daily quests reset for all characters.");
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_RESET_CHARACTER_QUESTSTATUS_DAILY);
CharacterDatabase.Execute(stmt);
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHARACTER_GARRISON_FOLLOWER_ACTIVATIONS);
+ stmt->setUInt32(0, 1);
+ CharacterDatabase.Execute(stmt);
+
for (SessionMap::const_iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr)
if (itr->second->GetPlayer())
- itr->second->GetPlayer()->ResetDailyQuestStatus();
+ itr->second->GetPlayer()->DailyReset();
// change available dailies
sPoolMgr->ChangeDailyQuests();
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index 1a3cfd6f985..b169431f2fd 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -805,7 +805,7 @@ class World
void InitRandomBGResetTime();
void InitGuildResetTime();
void InitCurrencyResetTime();
- void ResetDailyQuests();
+ void DailyReset();
void ResetWeeklyQuests();
void ResetMonthlyQuests();
void ResetRandomBG();