aboutsummaryrefslogtreecommitdiff
path: root/src/game/Player.cpp
diff options
context:
space:
mode:
authorTrazom62 <none@none>2010-04-27 22:22:13 +0200
committerTrazom62 <none@none>2010-04-27 22:22:13 +0200
commit36ebd58b37aa70e3c68c00ac7126810da39f2de1 (patch)
treeb076936f48feffab7102bd18e4d09329ba7b930f /src/game/Player.cpp
parent90f38341f05de2d517bc72d97672165dc3f5eb54 (diff)
Implement support of Timed Achievement. Thanks Shauren.
Fixes issue #1431. --HG-- branch : trunk
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r--src/game/Player.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 540c3c6b1aa..2715ea91a26 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -1218,6 +1218,8 @@ void Player::Update(uint32 p_time)
}
}
+ GetAchievementMgr().UpdateTimedAchievements(p_time);
+
if (hasUnitState(UNIT_STAT_MELEE_ATTACKING) && !hasUnitState(UNIT_STAT_CASTING))
{
if (Unit *pVictim = getVictim())
@@ -13975,6 +13977,8 @@ void Player::AddQuest(Quest const *pQuest, Object *questGiver)
if (questStatusData.uState != QUEST_NEW)
questStatusData.uState = QUEST_CHANGED;
+ GetAchievementMgr().StartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_QUEST, quest_id);
+
//starting initial quest script
if (questGiver && pQuest->GetQuestStartScript() != 0)
GetMap()->ScriptsStart(sQuestStartScripts, pQuest->GetQuestStartScript(), questGiver, this);
@@ -14899,7 +14903,9 @@ void Player::KilledMonsterCredit(uint32 entry, uint64 guid)
real_entry = killed->GetEntry();
}
+ GetAchievementMgr().StartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_CREATURE, real_entry); // MUST BE CALLED FIRST
GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE, real_entry, addkillcount);
+
for (uint8 i = 0; i < MAX_QUEST_LOG_SIZE; ++i)
{
uint32 questid = GetQuestSlotQuestId(i);