diff options
author | Shauren <shauren.trinity@gmail.com> | 2016-05-20 23:39:11 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2016-05-21 00:32:38 +0200 |
commit | 31009887e35cf8db6e94bf5b6870b62538364bc4 (patch) | |
tree | 05b7aadeacc242174075ae8c8c11e6befdc53476 /src/server/game/Achievements | |
parent | df6d557a4d778093ec522d2c39c6c01acc41d978 (diff) |
6.x rebase
Diffstat (limited to 'src/server/game/Achievements')
-rw-r--r-- | src/server/game/Achievements/AchievementMgr.cpp | 11 | ||||
-rw-r--r-- | src/server/game/Achievements/AchievementMgr.h | 2 | ||||
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 12 | ||||
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.h | 1 |
4 files changed, 18 insertions, 8 deletions
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index f4b51eba6f4..9c95eca9db1 100644 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -522,6 +522,11 @@ void PlayerAchievementMgr::CompletedAchievement(AchievementEntry const* achievem } } +bool PlayerAchievementMgr::ModifierTreeSatisfied(uint32 modifierTreeId) const +{ + return AdditionalRequirementsSatisfied(sCriteriaMgr->GetModifierTree(modifierTreeId), 0, 0, nullptr, _owner); +} + void PlayerAchievementMgr::SendCriteriaUpdate(Criteria const* criteria, CriteriaProgress const* progress, uint32 timeElapsed, bool timedCompleted) const { WorldPackets::Achievement::CriteriaUpdate criteriaUpdate; @@ -924,12 +929,6 @@ CriteriaList const& GuildAchievementMgr::GetCriteriaByType(CriteriaTypes type) c return sCriteriaMgr->GetGuildCriteriaByType(type); } -bool PlayerAchievementMgr::ModifierTreeSatisfied(uint32 modifierTreeId) const -{ - return AdditionalRequirementsSatisfied(sAchievementMgr->GetModifierTree(modifierTreeId), 0, 0, nullptr, _owner); -} - - std::string PlayerAchievementMgr::GetOwnerInfo() const { return Trinity::StringFormat("%s %s", _owner->GetGUID().ToString().c_str(), _owner->GetName().c_str()); diff --git a/src/server/game/Achievements/AchievementMgr.h b/src/server/game/Achievements/AchievementMgr.h index 33ba9021b5f..ef0ee5e87e6 100644 --- a/src/server/game/Achievements/AchievementMgr.h +++ b/src/server/game/Achievements/AchievementMgr.h @@ -91,6 +91,8 @@ public: void CompletedAchievement(AchievementEntry const* entry, Player* referencePlayer) override; + bool ModifierTreeSatisfied(uint32 modifierTreeId) const; + protected: void SendCriteriaUpdate(Criteria const* entry, CriteriaProgress const* progress, uint32 timeElapsed, bool timedCompleted) const override; void SendCriteriaProgressRemoved(uint32 criteriaId) override; diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index e8e418001ad..e9ec1299f96 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -18,7 +18,6 @@ #include "CriteriaHandler.h" #include "ArenaTeamMgr.h" #include "Battleground.h" -#include "DBCStores.h" #include "DB2Stores.h" #include "DisableMgr.h" #include "GameEventMgr.h" @@ -780,7 +779,7 @@ void CriteriaHandler::StartCriteriaTimer(CriteriaTimedTypes type, uint32 entry, if (_timeCriteriaTrees.find(tree->ID) == _timeCriteriaTrees.end() && !IsCompletedCriteriaTree(tree)) { // Start the timer - if (criteria->Entry->StartTimer * IN_MILLISECONDS > timeLost) + if (criteria->Entry->StartTimer * uint32(IN_MILLISECONDS) > timeLost) { _timeCriteriaTrees[tree->ID] = criteria->Entry->StartTimer * IN_MILLISECONDS - timeLost; canStart = true; @@ -2216,3 +2215,12 @@ Criteria const* CriteriaMgr::GetCriteria(uint32 criteriaId) const return itr->second; } + +ModifierTreeNode const* CriteriaMgr::GetModifierTree(uint32 modifierTreeId) const +{ + auto itr = _criteriaModifiers.find(modifierTreeId); + if (itr != _criteriaModifiers.end()) + return itr->second; + + return nullptr; +} diff --git a/src/server/game/Achievements/CriteriaHandler.h b/src/server/game/Achievements/CriteriaHandler.h index 03a4f30136e..4d269a894bd 100644 --- a/src/server/game/Achievements/CriteriaHandler.h +++ b/src/server/game/Achievements/CriteriaHandler.h @@ -370,6 +370,7 @@ public: void LoadCriteriaData(); CriteriaTree const* GetCriteriaTree(uint32 criteriaTreeId) const; Criteria const* GetCriteria(uint32 criteriaId) const; + ModifierTreeNode const* GetModifierTree(uint32 modifierTreeId) const; private: CriteriaDataMap _criteriaDataMap; |