diff options
| author | Shauren <shauren.trinity@gmail.com> | 2011-02-03 22:20:40 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2011-02-03 22:20:40 +0100 |
| commit | c2b0bcbd6c8155812857523681cd787059cd9bf9 (patch) | |
| tree | b325612ecdddbb1235c676a862435c83374f95cf /src/server/game/DungeonFinding | |
| parent | 7ea8bad07f64ed5886130fcc8016c0c72a32758e (diff) | |
Core/Instances: Implemented DungeonEncounter.dbc for creating completed encounters mask to use in packets
Core/Dungeon Finder: Implemented new way of giving random dungeon rewards, linked to DungeonEncounter.dbc
Diffstat (limited to 'src/server/game/DungeonFinding')
| -rwxr-xr-x | src/server/game/DungeonFinding/LFGMgr.cpp | 71 | ||||
| -rwxr-xr-x | src/server/game/DungeonFinding/LFGMgr.h | 3 |
2 files changed, 0 insertions, 74 deletions
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp index 97b31a37cf1..d7a329737a6 100755 --- a/src/server/game/DungeonFinding/LFGMgr.cpp +++ b/src/server/game/DungeonFinding/LFGMgr.cpp @@ -71,61 +71,6 @@ LFGMgr::~LFGMgr() delete it->second; } -/// Load achievement <-> encounter associations -void LFGMgr::LoadDungeonEncounters() -{ - uint32 oldMSTime = getMSTime(); - - m_EncountersByAchievement.clear(); - - QueryResult result = WorldDatabase.Query("SELECT achievementId, dungeonId FROM lfg_dungeon_encounters"); - - if (!result) - { - - sLog->outString(); - sLog->outErrorDb(">> Loaded 0 dungeon encounter lfg associations. DB table `lfg_dungeon_encounters` is empty!"); - return; - } - - uint32 count = 0; - - Field* fields = NULL; - do - { - fields = result->Fetch(); - uint32 achievementId = fields[0].GetUInt32(); - uint32 dungeonId = fields[1].GetUInt32(); - - if (AchievementEntry const* achievement = sAchievementStore.LookupEntry(achievementId)) - { - if (!(achievement->flags & ACHIEVEMENT_FLAG_COUNTER)) - { - sLog->outErrorDb("Achievement %u specified in table `lfg_dungeon_encounters` is not a statistic!", achievementId); - continue; - } - } - else - { - sLog->outErrorDb("Achievement %u specified in table `lfg_dungeon_encounters` does not exist!", achievementId); - continue; - } - - if (!sLFGDungeonStore.LookupEntry(dungeonId)) - { - sLog->outErrorDb("Dungeon %u specified in table `lfg_dungeon_encounters` does not exist!", dungeonId); - continue; - } - - m_EncountersByAchievement[achievementId] = dungeonId; - ++count; - } while (result->NextRow()); - - sLog->outString(">> Loaded %u dungeon encounter lfg associations in %u ms", count, GetMSTimeDiffToNow(oldMSTime)); - sLog->outString(); -} - - /// Load rewards for completing dungeons void LFGMgr::LoadRewards() { @@ -1730,7 +1675,6 @@ void LFGMgr::TeleportPlayer(Player* plr, bool out, bool fromOpcode /*= false*/) if (!fromOpcode) { - // Select a player inside to be teleported to for (GroupReference* itr = grp->GetFirstMember(); itr != NULL && !mapid; itr = itr->next()) { @@ -1923,21 +1867,6 @@ LfgType LFGMgr::GetDungeonType(uint32 dungeonId) } /** - Given a Achievement id returns the related dungeon id - - @param[in] achievementId Achievement id - @returns dungeon id -*/ -uint32 LFGMgr::GetDungeonIdForAchievement(uint32 achievementId) -{ - std::map<uint32, uint32>::iterator itr = m_EncountersByAchievement.find(achievementId); - if (itr != m_EncountersByAchievement.end()) - return itr->second; - - return 0; -}; - -/** Given a list of guids returns the concatenation using | as delimiter @param[in] check list of guids diff --git a/src/server/game/DungeonFinding/LFGMgr.h b/src/server/game/DungeonFinding/LFGMgr.h index 775c1e05837..493bed3305b 100755 --- a/src/server/game/DungeonFinding/LFGMgr.h +++ b/src/server/game/DungeonFinding/LFGMgr.h @@ -262,10 +262,8 @@ class LFGMgr void Update(uint32 diff); // Reward - void LoadDungeonEncounters(); void LoadRewards(); void RewardDungeonDoneFor(const uint32 dungeonId, Player* player); - uint32 GetDungeonIdForAchievement(uint32 achievementId); LfgReward const* GetRandomDungeonReward(uint32 dungeon, uint8 level); // Queue @@ -348,7 +346,6 @@ class LFGMgr LfgDungeonMap m_CachedDungeonMap; ///< Stores all dungeons by groupType // Reward System LfgRewardMap m_RewardMap; ///< Stores rewards for random dungeons - std::map<uint32, uint32> m_EncountersByAchievement;///< Stores dungeon ids associated with achievements (for rewards) // Queue LfgQueueInfoMap m_QueueInfoMap; ///< Queued groups LfgGuidListMap m_currentQueue; ///< Ordered list. Used to find groups |
