aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Guilds
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-05-07 01:16:29 +0200
committerShauren <shauren.trinity@gmail.com>2016-05-07 01:16:29 +0200
commitc75fcbe20b07fd7518be58bf02ba30d903133449 (patch)
tree747a9ecc6a91ffc04d394090c0a3d2e588f630b4 /src/server/game/Guilds
parent44962fe3a9551f183ee9003c8947d5f433cfee16 (diff)
Core/Achievements: AchievementMgr refactoring
* Extracted base CriteriaHandler class that deals with criteria only and will be reused for future scenario implementation * Fixed players earning guild achievements
Diffstat (limited to 'src/server/game/Guilds')
-rw-r--r--src/server/game/Guilds/Guild.cpp12
-rw-r--r--src/server/game/Guilds/Guild.h8
-rw-r--r--src/server/game/Guilds/GuildMgr.cpp2
3 files changed, 11 insertions, 11 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp
index 586af65ae5a..86a59f04f23 100644
--- a/src/server/game/Guilds/Guild.cpp
+++ b/src/server/game/Guilds/Guild.cpp
@@ -1391,11 +1391,11 @@ void Guild::HandleSetAchievementTracking(WorldSession* session, std::set<uint32>
for (uint32 achievementId : achievementIds)
{
- if (AchievementEntry const* achievement = sAchievementMgr->GetAchievement(achievementId))
+ if (AchievementEntry const* achievement = sAchievementStore.LookupEntry(achievementId))
{
- if (AchievementCriteriaTree const* tree = sAchievementMgr->GetAchievementCriteriaTree(achievement->CriteriaTree))
+ if (CriteriaTree const* tree = sCriteriaMgr->GetCriteriaTree(achievement->CriteriaTree))
{
- sAchievementMgr->WalkCriteriaTree(tree, [&criteriaIds](AchievementCriteriaTree const* node)
+ CriteriaMgr::WalkCriteriaTree(tree, [&criteriaIds](CriteriaTree const* node)
{
if (node->Criteria)
criteriaIds.insert(node->Criteria->ID);
@@ -2162,7 +2162,7 @@ void Guild::SendLoginInfo(WorldSession* session)
if (entry->GuildLevel <= GetLevel())
player->LearnSpell(entry->SpellID, true);
- m_achievementMgr.SendAllAchievementData(player);
+ m_achievementMgr.SendAllData(player);
WorldPackets::Guild::GuildMemberDailyReset packet; // tells the client to request bank withdrawal limit
player->GetSession()->SendPacket(packet.Write());
@@ -3384,9 +3384,9 @@ bool Guild::HasAchieved(uint32 achievementId) const
return m_achievementMgr.HasAchieved(achievementId);
}
-void Guild::UpdateAchievementCriteria(AchievementCriteriaTypes type, uint64 miscValue1, uint64 miscValue2, uint64 miscValue3, Unit* unit, Player* player)
+void Guild::UpdateCriteria(CriteriaTypes type, uint64 miscValue1, uint64 miscValue2, uint64 miscValue3, Unit* unit, Player* player)
{
- m_achievementMgr.UpdateAchievementCriteria(type, miscValue1, miscValue2, miscValue3, unit, player);
+ m_achievementMgr.UpdateCriteria(type, miscValue1, miscValue2, miscValue3, unit, player);
}
void Guild::HandleNewsSetSticky(WorldSession* session, uint32 newsId, bool sticky)
diff --git a/src/server/game/Guilds/Guild.h b/src/server/game/Guilds/Guild.h
index d41a4f7c726..db20f48c3e7 100644
--- a/src/server/game/Guilds/Guild.h
+++ b/src/server/game/Guilds/Guild.h
@@ -865,8 +865,8 @@ public:
// Bank tabs
void SetBankTabText(uint8 tabId, std::string const& text);
- AchievementMgr<Guild>& GetAchievementMgr() { return m_achievementMgr; }
- AchievementMgr<Guild> const& GetAchievementMgr() const { return m_achievementMgr; }
+ GuildAchievementMgr& GetAchievementMgr() { return m_achievementMgr; }
+ GuildAchievementMgr const& GetAchievementMgr() const { return m_achievementMgr; }
// Guild leveling
uint8 GetLevel() const { return _level; }
@@ -877,7 +877,7 @@ public:
void ResetTimes(bool weekly);
bool HasAchieved(uint32 achievementId) const;
- void UpdateAchievementCriteria(AchievementCriteriaTypes type, uint64 miscValue1, uint64 miscValue2, uint64 miscValue3, Unit* unit, Player* player);
+ void UpdateCriteria(CriteriaTypes type, uint64 miscValue1, uint64 miscValue2, uint64 miscValue3, Unit* unit, Player* player);
protected:
ObjectGuid::LowType m_id;
@@ -899,7 +899,7 @@ protected:
LogHolder* m_eventLog;
LogHolder* m_bankEventLog[GUILD_BANK_MAX_TABS + 1];
LogHolder* m_newsLog;
- AchievementMgr<Guild> m_achievementMgr;
+ GuildAchievementMgr m_achievementMgr;
uint8 _level;
diff --git a/src/server/game/Guilds/GuildMgr.cpp b/src/server/game/Guilds/GuildMgr.cpp
index 8cafc8cdd2f..6af809dcedb 100644
--- a/src/server/game/Guilds/GuildMgr.cpp
+++ b/src/server/game/Guilds/GuildMgr.cpp
@@ -511,7 +511,7 @@ void GuildMgr::LoadGuildRewards()
uint32 requiredAchievementId = fields[0].GetUInt32();
- if (!sAchievementMgr->GetAchievement(requiredAchievementId))
+ if (!sAchievementStore.LookupEntry(requiredAchievementId))
{
TC_LOG_ERROR("server.loading", "Guild rewards constains not existing achievement entry %u", requiredAchievementId);
continue;