diff options
author | Antonio MartÃn Berti <15972392+BertiRean@users.noreply.github.com> | 2024-05-13 15:12:00 -0300 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2024-05-28 17:01:15 +0200 |
commit | 207f2d49ea14237195739cd80b7f35ac7397b21d (patch) | |
tree | f387d10962c0facdb6363457fef38499c01fdf72 | |
parent | 73972e4067a6d3fdf764f2a8b30c568f6cbda1fb (diff) |
Core/Criteria: Implemented LearnAnyTransmog CriteriaType (#29981)
(cherry picked from commit d60f0e2b28d8d0aba011ad80c65d4a8da85e5026)
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 3 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCEnums.h | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Player/CollectionMgr.cpp | 2 |
3 files changed, 6 insertions, 1 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index 2811c6b42c4..18b5583b5d0 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -551,6 +551,7 @@ void CriteriaHandler::UpdateCriteria(CriteriaType type, uint64 miscValue1 /*= 0* case CriteriaType::PlaceGarrisonBuilding: case CriteriaType::ActivateAnyGarrisonBuilding: case CriteriaType::LearnAnyHeirloom: + case CriteriaType::LearnAnyTransmog: case CriteriaType::HonorLevelIncrease: case CriteriaType::PrestigeLevelIncrease: case CriteriaType::LearnAnyTransmogInSlot: @@ -1279,6 +1280,7 @@ bool CriteriaHandler::IsCompletedCriteria(Criteria const* criteria, uint64 requi case CriteriaType::AbandonAnyQuest: case CriteriaType::BuyTaxi: case CriteriaType::AcceptSummon: + case CriteriaType::LearnAnyTransmog: default: break; } @@ -1385,6 +1387,7 @@ bool CriteriaHandler::RequirementsSatisfied(Criteria const* criteria, uint64 mis case CriteriaType::BuyItemsFromVendors: case CriteriaType::SellItemsToVendors: case CriteriaType::GainLevels: + case CriteriaType::LearnAnyTransmog: if (!miscValue1) return false; break; diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index d87e68054e4..90255b0600c 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -694,7 +694,7 @@ enum class CriteriaType : int16 EarnArtifactXP = 190, /*NYI*/ // Earn Artifact XP AnyArtifactPowerRankPurchased = 191, /*NYI*/ // Artifact Power Ranks Purchased LearnTransmog = 192, /*NYI*/ // Learn Transmog "{ItemModifiedAppearance}" - LearnAnyTransmog = 193, /*NYI*/ // Learn Any Transmog + LearnAnyTransmog = 193, // Learn Any Transmog HonorLevelIncrease = 194, // (Player) honor level increase PrestigeLevelIncrease = 195, /*NYI*/ // (Player) prestige level increase ActivelyReachLevel = 196, // Actively level to level {#Level} diff --git a/src/server/game/Entities/Player/CollectionMgr.cpp b/src/server/game/Entities/Player/CollectionMgr.cpp index 03dc764e60a..918aef37960 100644 --- a/src/server/game/Entities/Player/CollectionMgr.cpp +++ b/src/server/game/Entities/Player/CollectionMgr.cpp @@ -765,6 +765,8 @@ void CollectionMgr::AddItemAppearance(ItemModifiedAppearanceEntry const* itemMod _temporaryAppearances.erase(temporaryAppearance); } + _owner->GetPlayer()->UpdateCriteria(CriteriaType::LearnAnyTransmog, 1); + if (ItemEntry const* item = sItemStore.LookupEntry(itemModifiedAppearance->ItemID)) { int32 transmogSlot = ItemTransmogrificationSlots[item->InventoryType]; |