What bug does the patch fix? What features does the patch add?
Currently the achievement system calculates reputation rank only from gained reputation, not including base reputation, which means that if a faction started above 1000/3000 neutral, player can never get 42000 rep to count from ReputationToRank() as exalted.
For which repository revision was the patch created?
7521
Who has been writing this patch? Please include either forum user names or email addresses.
emsy
diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp
index 59e2c53..d60531c 100644
--- a/src/game/AchievementMgr.cpp
+++ b/src/game/AchievementMgr.cpp
@@ -758,7 +758,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
const FactionStateList factionStateList = GetPlayer()->GetFactionStateList();
for (FactionStateList::const_iterator iter = factionStateList.begin(); iter!= factionStateList.end(); ++iter)
{
- if(GetPlayer()->ReputationToRank(iter->second.Standing) >= REP_EXALTED)
+ if(GetPlayer()->ReputationToRank(iter->second.Standing + GetPlayer()->GetBaseReputation(iter->second)) >= REP_EXALTED)
++counter;
}
SetCriteriaProgress(achievementCriteria, counter);