diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-09-26 10:27:02 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2025-09-26 10:27:02 +0200 |
commit | c5503857208d092b6e7b55fa4d3155b5eb47b702 (patch) | |
tree | a11659d763cb16d19a6dc42dfce400d27faf396c /src/server | |
parent | 4a3f22948c91b74de3f43a9cd674597904780f35 (diff) |
Core/Transmog: Mark tracking quests as completed when completing transmog sets
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/game/Entities/Player/CollectionMgr.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/server/game/Entities/Player/CollectionMgr.cpp b/src/server/game/Entities/Player/CollectionMgr.cpp index b8ccaf82045..d99e52237fa 100644 --- a/src/server/game/Entities/Player/CollectionMgr.cpp +++ b/src/server/game/Entities/Player/CollectionMgr.cpp @@ -746,19 +746,29 @@ void CollectionMgr::AddItemAppearance(ItemModifiedAppearanceEntry const* itemMod _temporaryAppearances.erase(temporaryAppearance); } - _owner->GetPlayer()->UpdateCriteria(CriteriaType::LearnAnyTransmog, 1); + owner->UpdateCriteria(CriteriaType::LearnAnyTransmog, 1); if (ItemEntry const* item = sItemStore.LookupEntry(itemModifiedAppearance->ItemID)) { int32 transmogSlot = ItemTransmogrificationSlots[item->InventoryType]; if (transmogSlot >= 0) - _owner->GetPlayer()->UpdateCriteria(CriteriaType::LearnAnyTransmogInSlot, transmogSlot, itemModifiedAppearance->ID); + owner->UpdateCriteria(CriteriaType::LearnAnyTransmogInSlot, transmogSlot, itemModifiedAppearance->ID); } if (std::vector<TransmogSetEntry const*> const* sets = sDB2Manager.GetTransmogSetsForItemModifiedAppearance(itemModifiedAppearance->ID)) + { for (TransmogSetEntry const* set : *sets) + { if (IsSetCompleted(set->ID)) - _owner->GetPlayer()->UpdateCriteria(CriteriaType::CollectTransmogSetFromGroup, set->TransmogSetGroupID); + { + + if (Quest const* quest = sObjectMgr->GetQuestTemplate(set->TrackingQuestID)) + owner->RewardQuest(quest, LootItemType::Item, 0, owner, false); + + owner->UpdateCriteria(CriteriaType::CollectTransmogSetFromGroup, set->TransmogSetGroupID); + } + } + } } void CollectionMgr::AddTemporaryAppearance(ObjectGuid const& itemGuid, ItemModifiedAppearanceEntry const* itemModifiedAppearance) |