aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Achievements
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-05-20 23:39:11 +0200
committerShauren <shauren.trinity@gmail.com>2016-05-21 00:32:38 +0200
commit31009887e35cf8db6e94bf5b6870b62538364bc4 (patch)
tree05b7aadeacc242174075ae8c8c11e6befdc53476 /src/server/game/Achievements
parentdf6d557a4d778093ec522d2c39c6c01acc41d978 (diff)
6.x rebase
Diffstat (limited to 'src/server/game/Achievements')
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp11
-rw-r--r--src/server/game/Achievements/AchievementMgr.h2
-rw-r--r--src/server/game/Achievements/CriteriaHandler.cpp12
-rw-r--r--src/server/game/Achievements/CriteriaHandler.h1
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;