diff options
author | Trazom62 <none@none> | 2010-04-27 22:22:13 +0200 |
---|---|---|
committer | Trazom62 <none@none> | 2010-04-27 22:22:13 +0200 |
commit | 36ebd58b37aa70e3c68c00ac7126810da39f2de1 (patch) | |
tree | b076936f48feffab7102bd18e4d09329ba7b930f /src/game/Player.cpp | |
parent | 90f38341f05de2d517bc72d97672165dc3f5eb54 (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.cpp | 6 |
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); |