diff options
author | Antonio MartÃn Berti <15972392+BertiRean@users.noreply.github.com> | 2024-05-13 15:12:00 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-13 20:12:00 +0200 |
commit | d60f0e2b28d8d0aba011ad80c65d4a8da85e5026 (patch) | |
tree | 3174438838c0937a7105e2107a72e9a803ed1b41 | |
parent | 6f9e359701bd75705f73f23af65affb5a5bed573 (diff) |
Core/Criteria: Implemented LearnAnyTransmog CriteriaType (#29981)
-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 dd3e015a241..793f738e4f4 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -553,6 +553,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: @@ -1283,6 +1284,7 @@ bool CriteriaHandler::IsCompletedCriteria(Criteria const* criteria, uint64 requi case CriteriaType::AbandonAnyQuest: case CriteriaType::BuyTaxi: case CriteriaType::AcceptSummon: + case CriteriaType::LearnAnyTransmog: default: break; } @@ -1389,6 +1391,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 bb26966e88c..118cefe1b58 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, // Earn Artifact XP AnyArtifactPowerRankPurchased = 191, // 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 ba4fb42b5fc..333ee1b2907 100644 --- a/src/server/game/Entities/Player/CollectionMgr.cpp +++ b/src/server/game/Entities/Player/CollectionMgr.cpp @@ -763,6 +763,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]; |