diff options
| author | Shauren <shauren.trinity@gmail.com> | 2015-05-08 00:03:15 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2015-05-08 00:03:15 +0200 |
| commit | 5b725db033c656bda5e718ea05a79005946e089e (patch) | |
| tree | c15ad544c542cdd7dd7cb395c8ec6d3d35e4d2e9 /src/server/game/World | |
| parent | 0972552e84068cf453231b372bcb232cf2d2f42b (diff) | |
Core/Garrisons: Basics for garrisons
Diffstat (limited to 'src/server/game/World')
| -rw-r--r-- | src/server/game/World/World.cpp | 14 | ||||
| -rw-r--r-- | src/server/game/World/World.h | 2 |
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(); |
