aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Achievements/CriteriaHandler.cpp
diff options
context:
space:
mode:
authorKrudor <erikstrandberg93@hotmail.com>2017-03-17 19:14:13 +0100
committerShauren <shauren.trinity@gmail.com>2017-03-17 19:14:13 +0100
commit77d1080ff5516b11d579277e1267c21ea4f24bfe (patch)
tree418cb691cfffcf15b94d5ea3ddc2a832001fc27c /src/server/game/Achievements/CriteriaHandler.cpp
parent769bc15ba06d5192289ea4ffd8067ca80f5e26b9 (diff)
Core/Criterias: Fix an old criteria condition and added some new ones
Closes #19246
Diffstat (limited to 'src/server/game/Achievements/CriteriaHandler.cpp')
-rw-r--r--src/server/game/Achievements/CriteriaHandler.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp
index ac0ee493d88..50d91a7fdff 100644
--- a/src/server/game/Achievements/CriteriaHandler.cpp
+++ b/src/server/game/Achievements/CriteriaHandler.cpp
@@ -1621,11 +1621,14 @@ bool CriteriaHandler::AdditionalRequirementsSatisfied(ModifierTreeNode const* tr
return false;
break;
}
- case CRITERIA_ADDITIONAL_CONDITION_MAP_DIFFICULTY: // 20
- if (uint32(referencePlayer->GetMap()->GetDifficultyID()) != reqValue)
+ case CRITERIA_ADDITIONAL_CONDITION_MAP_DIFFICULTY_OLD: // 20
+ {
+ DifficultyEntry const* difficulty = sDifficultyStore.LookupEntry(referencePlayer->GetMap()->GetDifficultyID());
+ if (!difficulty || difficulty->OldEnumValue == -1 || uint32(difficulty->OldEnumValue) != reqValue)
return false;
break;
- case CRITERIA_ADDITIONAL_CONDITION_ARENA_TYPE:
+ }
+ case CRITERIA_ADDITIONAL_CONDITION_ARENA_TYPE: // 24
{
Battleground* bg = referencePlayer->GetBattleground();
if (!bg || !bg->isArena() || bg->GetArenaType() != reqValue)
@@ -1686,6 +1689,10 @@ bool CriteriaHandler::AdditionalRequirementsSatisfied(ModifierTreeNode const* tr
if (!unit || unit->GetHealthPct() >= reqValue)
return false;
break;
+ case CRITERIA_ADDITIONAL_CONDITION_RATED_BATTLEGROUND_RATING: // 64
+ if (referencePlayer->GetRBGPersonalRating() < reqValue)
+ return false;
+ break;
case CRITERIA_ADDITIONAL_CONDITION_BATTLE_PET_SPECIES: // 91
if (miscValue1 != reqValue)
return false;