diff options
author | Krudor <erikstrandberg93@hotmail.com> | 2017-03-17 19:14:13 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2017-03-17 19:14:13 +0100 |
commit | 77d1080ff5516b11d579277e1267c21ea4f24bfe (patch) | |
tree | 418cb691cfffcf15b94d5ea3ddc2a832001fc27c | |
parent | 769bc15ba06d5192289ea4ffd8067ca80f5e26b9 (diff) |
Core/Criterias: Fix an old criteria condition and added some new ones
Closes #19246
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 13 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCEnums.h | 19 |
2 files changed, 28 insertions, 4 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; diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index 63b52094dd9..fee84a8ae03 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -191,7 +191,7 @@ enum CriteriaAdditionalCondition CRITERIA_ADDITIONAL_CONDITION_UNK16 = 16, CRITERIA_ADDITIONAL_CONDITION_SOURCE_AREA_OR_ZONE = 17, CRITERIA_ADDITIONAL_CONDITION_TARGET_AREA_OR_ZONE = 18, - CRITERIA_ADDITIONAL_CONDITION_MAP_DIFFICULTY = 20, + CRITERIA_ADDITIONAL_CONDITION_MAP_DIFFICULTY_OLD = 20, CRITERIA_ADDITIONAL_CONDITION_TARGET_CREATURE_YIELDS_XP = 21, // NYI CRITERIA_ADDITIONAL_CONDITION_ARENA_TYPE = 24, CRITERIA_ADDITIONAL_CONDITION_SOURCE_RACE = 25, @@ -217,9 +217,25 @@ enum CriteriaAdditionalCondition CRITERIA_ADDITIONAL_CONDITION_REQUIRES_GUILD_GROUP = 61, // NYI CRITERIA_ADDITIONAL_CONDITION_GUILD_REPUTATION = 62, // NYI CRITERIA_ADDITIONAL_CONDITION_RATED_BATTLEGROUND = 63, // NYI + CRITERIA_ADDITIONAL_CONDITION_RATED_BATTLEGROUND_RATING = 64, CRITERIA_ADDITIONAL_CONDITION_PROJECT_RARITY = 65, CRITERIA_ADDITIONAL_CONDITION_PROJECT_RACE = 66, + CRITERIA_ADDITIONAL_CONDITION_WORLD_STATE = 67, // NYI + CRITERIA_ADDITIONAL_CONDITION_MAP_DIFFICULTY = 68, // NYI + CRITERIA_ADDITIONAL_CONDITION_PLAYER_LEVEL = 69, // NYI + CRITERIA_ADDITIONAL_CONDITION_TARGET_PLAYER_LEVEL = 70, // NYI + //CRITERIA_ADDITIONAL_CONDITION_PLAYER_LEVEL_ON_ACCOUNT = 71, // Not verified + //CRITERIA_ADDITIONAL_CONDITION_UNK73 = 73, // References another modifier tree id + CRITERIA_ADDITIONAL_CONDITION_SCENARIO_ID = 74, // NYI + CRITERIA_ADDITIONAL_CONDITION_BATTLE_PET_FAMILY = 78, // NYI + CRITERIA_ADDITIONAL_CONDITION_BATTLE_PET_HEALTH_PCT = 79, // NYI + //CRITERIA_ADDITIONAL_CONDITION_UNK80 = 80 // Something to do with world bosses + CRITERIA_ADDITIONAL_CONDITION_BATTLE_PET_ENTRY = 81, // NYI + //CRITERIA_ADDITIONAL_CONDITION_BATTLE_PET_ENTRY_ID = 82, // Some sort of data id? CRITERIA_ADDITIONAL_CONDITION_CHALLENGE_MODE_MEDAL = 83, // NYI + //CRITERIA_ADDITIONAL_CONDITION_UNK84 = 84, // Quest id + //CRITERIA_ADDITIONAL_CONDITION_UNK86 = 86, // Some external event id + //CRITERIA_ADDITIONAL_CONDITION_UNK87 = 87, // Achievement id CRITERIA_ADDITIONAL_CONDITION_BATTLE_PET_SPECIES = 91, CRITERIA_ADDITIONAL_CONDITION_GARRISON_FOLLOWER_ENTRY = 144, CRITERIA_ADDITIONAL_CONDITION_GARRISON_FOLLOWER_QUALITY = 145, @@ -227,6 +243,7 @@ enum CriteriaAdditionalCondition CRITERIA_ADDITIONAL_CONDITION_GARRISON_RARE_MISSION = 147, // NYI CRITERIA_ADDITIONAL_CONDITION_GARRISON_BUILDING_LEVEL = 149, // NYI CRITERIA_ADDITIONAL_CONDITION_GARRISON_MISSION_TYPE = 167, // NYI + CRITERIA_ADDITIONAL_CONDITION_PLAYER_ITEM_LEVEL = 169, // NYI CRITERIA_ADDITIONAL_CONDITION_GARRISON_FOLLOWER_ILVL = 184, }; |