diff options
| author | Golrag <golrag.jeremy@gmail.com> | 2017-08-24 20:39:22 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2017-08-24 20:39:22 +0200 |
| commit | fd73bedd735596ac6ddb3db4ead3938732b2ec43 (patch) | |
| tree | cfa9c42b745581128f061607a7f21ff9283341d9 /src/server/game/Achievements/CriteriaHandler.cpp | |
| parent | a93a5ad379635bbf4a50d48eee810e7673b07168 (diff) | |
Core/Transmog: Implemented transmog sets
Closes #20133
Closes #20135
Diffstat (limited to 'src/server/game/Achievements/CriteriaHandler.cpp')
| -rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index f3bb97ecf4b..9cb9a61386f 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -700,6 +700,16 @@ void CriteriaHandler::UpdateCriteria(CriteriaTypes type, uint64 miscValue1 /*= 0 case CRITERIA_TYPE_REACH_GUILD_LEVEL: SetCriteriaProgress(criteria, miscValue1, referencePlayer); break; + case CRITERIA_TYPE_TRANSMOG_SET_UNLOCKED: + if (miscValue1 != criteria->Entry->Asset.TransmogSetGroupID) + continue; + SetCriteriaProgress(criteria, 1, referencePlayer, PROGRESS_ACCUMULATE); + break; + case CRITERIA_TYPE_APPEARANCE_UNLOCKED_BY_SLOT: + if (!miscValue2 /*login case*/ || miscValue1 != criteria->Entry->Asset.EquipmentSlot) + continue; + SetCriteriaProgress(criteria, 1, referencePlayer, PROGRESS_ACCUMULATE); + break; // FIXME: not triggered in code as result, need to implement case CRITERIA_TYPE_COMPLETE_RAID: case CRITERIA_TYPE_PLAY_ARENA: @@ -774,7 +784,6 @@ void CriteriaHandler::UpdateCriteria(CriteriaTypes type, uint64 miscValue1 /*= 0 case CRITERIA_TYPE_ARTIFACT_POWER_EARNED: case CRITERIA_TYPE_ARTIFACT_TRAITS_UNLOCKED: case CRITERIA_TYPE_ORDER_HALL_TALENT_LEARNED: - case CRITERIA_TYPE_APPEARANCE_UNLOCKED_BY_SLOT: case CRITERIA_TYPE_ORDER_HALL_RECRUIT_TROOP: case CRITERIA_TYPE_COMPLETE_WORLD_QUEST: break; // Not implemented yet :( @@ -1135,6 +1144,7 @@ bool CriteriaHandler::IsCompletedCriteria(Criteria const* criteria, uint64 requi case CRITERIA_TYPE_CURRENCY: case CRITERIA_TYPE_PLACE_GARRISON_BUILDING: case CRITERIA_TYPE_OWN_BATTLE_PET_COUNT: + case CRITERIA_TYPE_APPEARANCE_UNLOCKED_BY_SLOT: return progress->Counter >= requiredAmount; case CRITERIA_TYPE_COMPLETE_ACHIEVEMENT: case CRITERIA_TYPE_COMPLETE_QUEST: @@ -1144,6 +1154,7 @@ bool CriteriaHandler::IsCompletedCriteria(Criteria const* criteria, uint64 requi case CRITERIA_TYPE_OWN_BATTLE_PET: case CRITERIA_TYPE_HONOR_LEVEL_REACHED: case CRITERIA_TYPE_PRESTIGE_REACHED: + case CRITERIA_TYPE_TRANSMOG_SET_UNLOCKED: return progress->Counter >= 1; case CRITERIA_TYPE_LEARN_SKILL_LEVEL: return progress->Counter >= (requiredAmount * 75); @@ -2125,6 +2136,8 @@ char const* CriteriaMgr::GetCriteriaTypeString(CriteriaTypes type) return "ORDER_HALL_RECRUIT_TROOP"; case CRITERIA_TYPE_COMPLETE_WORLD_QUEST: return "COMPLETE_WORLD_QUEST"; + case CRITERIA_TYPE_TRANSMOG_SET_UNLOCKED: + return "TRANSMOG_SET_UNLOCKED"; } return "MISSING_TYPE"; } |
