mirror of
https://github.com/mangosfour/server.git
synced 2025-12-21 01:37:05 +00:00
[7014] Fixed setting initial value of achievement criteria counter, broken after 21df99d7. With that bug players had to complete an achievement criteria n+1 times
This commit is contained in:
parent
7e5c17b6c3
commit
7864c9aee1
2 changed files with 5 additions and 5 deletions
|
|
@ -788,7 +788,7 @@ AchievementCompletionState AchievementMgr::GetAchievementCompletionState(Achieve
|
|||
|
||||
void AchievementMgr::SetCriteriaProgress(AchievementCriteriaEntry const* entry, uint32 newValue, bool relative)
|
||||
{
|
||||
sLog.outString("AchievementMgr::SetCriteriaProgress(%u, %u)", entry->ID, newValue);
|
||||
sLog.outDetail("AchievementMgr::SetCriteriaProgress(%u, %u)", entry->ID, newValue);
|
||||
CriteriaProgress *progress = NULL;
|
||||
|
||||
CriteriaProgressMap::iterator iter = m_criteriaProgress.find(entry->ID);
|
||||
|
|
@ -796,7 +796,7 @@ void AchievementMgr::SetCriteriaProgress(AchievementCriteriaEntry const* entry,
|
|||
if(iter == m_criteriaProgress.end())
|
||||
{
|
||||
progress = &m_criteriaProgress[entry->ID];
|
||||
progress->counter = 0;
|
||||
progress->counter = newValue;
|
||||
progress->date = time(NULL);
|
||||
}
|
||||
else
|
||||
|
|
@ -826,7 +826,7 @@ void AchievementMgr::SetCriteriaProgress(AchievementCriteriaEntry const* entry,
|
|||
|
||||
void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement)
|
||||
{
|
||||
sLog.outString("AchievementMgr::CompletedAchievement(%u)", achievement->ID);
|
||||
sLog.outDetail("AchievementMgr::CompletedAchievement(%u)", achievement->ID);
|
||||
if(achievement->flags & ACHIEVEMENT_FLAG_COUNTER || m_completedAchievements.find(achievement->ID)!=m_completedAchievements.end())
|
||||
return;
|
||||
|
||||
|
|
@ -843,6 +843,7 @@ void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement)
|
|||
UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT);
|
||||
|
||||
// reward items and titles
|
||||
// TODO: rewards should be send by mail
|
||||
AchievementReward const* reward = NULL;
|
||||
for (uint32 i=0; i<ACHIEVEMENT_REWARD_COUNT; i++)
|
||||
{
|
||||
|
|
@ -855,7 +856,6 @@ void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement)
|
|||
|
||||
if (reward)
|
||||
{
|
||||
sLog.outString("achiev %u, title= %u, %u", reward->achievementId, reward->titleId[0], reward->titleId[1]);
|
||||
uint32 titleId = reward->titleId[GetPlayer()->GetTeam() == HORDE?0:1];
|
||||
if(CharTitlesEntry const* titleEntry = sCharTitlesStore.LookupEntry(titleId))
|
||||
GetPlayer()->SetTitle(titleEntry);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "7013"
|
||||
#define REVISION_NR "7014"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue