diff options
| author | kandera <kanderacutie@hotmail.com> | 2012-01-03 08:37:21 -0500 |
|---|---|---|
| committer | kandera <kanderacutie@hotmail.com> | 2012-01-04 07:59:32 -0500 |
| commit | 46fb199ee1c5d27ea79f65d63f6fd8dbe29612c6 (patch) | |
| tree | 95f0308646161a57381293f12a2a7cbf433db598 /src/server/game/World | |
| parent | 5884f4be315a435c6d45ac7357ad4de7a6beb576 (diff) | |
Core/Quests: Add implementation of seasonal quest reset. uses a new table much like character_queststatus_weekly. fixed typo where WEEKLY was WEKLY. Attempt 2
Diffstat (limited to 'src/server/game/World')
| -rwxr-xr-x | src/server/game/World/World.cpp | 11 | ||||
| -rwxr-xr-x | src/server/game/World/World.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index b9ac3d1d365..f05a2721276 100755 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -2746,6 +2746,17 @@ void World::ResetWeeklyQuests() sPoolMgr->ChangeWeeklyQuests(); } +void World::ResetEventSeasonalQuests(uint16 event_id) +{ + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_SEASONAL); + stmt->setUInt16(0,event_id); + CharacterDatabase.Execute(stmt); + + for (SessionMap::const_iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr) + if (itr->second->GetPlayer()) + itr->second->GetPlayer()->ResetSeasonalQuestStatus(event_id); +} + void World::ResetRandomBG() { sLog->outDetail("Random BG status reset for all characters."); diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index 02438375058..bedd8a87b20 100755 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -746,6 +746,7 @@ class World uint32 GetCleaningFlags() const { return m_CleaningFlags; } void SetCleaningFlags(uint32 flags) { m_CleaningFlags = flags; } + void ResetEventSeasonalQuests(uint16 event_id); protected: void _UpdateGameTime(); // callback for UpdateRealmCharacters |
