aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-09-26 10:27:02 +0200
committerShauren <shauren.trinity@gmail.com>2025-09-26 10:27:02 +0200
commitc5503857208d092b6e7b55fa4d3155b5eb47b702 (patch)
treea11659d763cb16d19a6dc42dfce400d27faf396c
parent4a3f22948c91b74de3f43a9cd674597904780f35 (diff)
Core/Transmog: Mark tracking quests as completed when completing transmog sets
-rw-r--r--src/server/game/Entities/Player/CollectionMgr.cpp16
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)