From 1811d83ccdc8cde3f1dd63374e0d86471ae87889 Mon Sep 17 00:00:00 2001 From: Hondacrx Date: Mon, 8 Dec 2025 14:12:41 -0500 Subject: [PATCH] Core/Transmog: Mark tracking quests as completed when completing transmog sets Port From (https://github.com/TrinityCore/TrinityCore/commit/c5503857208d092b6e7b55fa4d3155b5eb47b702) --- Source/Game/Entities/Player/CollectionManager.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Source/Game/Entities/Player/CollectionManager.cs b/Source/Game/Entities/Player/CollectionManager.cs index c85fe0ec5..c42e57530 100644 --- a/Source/Game/Entities/Player/CollectionManager.cs +++ b/Source/Game/Entities/Player/CollectionManager.cs @@ -662,20 +662,28 @@ namespace Game.Entities _temporaryAppearances.Remove(itemModifiedAppearance.Id); } - _owner.GetPlayer().UpdateCriteria(CriteriaType.LearnAnyTransmog, 1); + owner.UpdateCriteria(CriteriaType.LearnAnyTransmog, 1); ItemRecord item = CliDB.ItemStorage.LookupByKey(itemModifiedAppearance.ItemID); if (item != null) { int transmogSlot = Item.ItemTransmogrificationSlots[(int)item.inventoryType]; if (transmogSlot >= 0) - _owner.GetPlayer().UpdateCriteria(CriteriaType.LearnAnyTransmogInSlot, (ulong)transmogSlot, itemModifiedAppearance.Id); + owner.UpdateCriteria(CriteriaType.LearnAnyTransmogInSlot, (ulong)transmogSlot, itemModifiedAppearance.Id); } var sets = Global.DB2Mgr.GetTransmogSetsForItemModifiedAppearance(itemModifiedAppearance.Id); foreach (TransmogSetRecord set in sets) + { if (IsSetCompleted(set.Id)) - _owner.GetPlayer().UpdateCriteria(CriteriaType.CollectTransmogSetFromGroup, set.TransmogSetGroupID); + { + Quest quest = Global.ObjectMgr.GetQuestTemplate((uint)set.TrackingQuestID); + if (quest != null) + owner.RewardQuest(quest, LootItemType.Item, 0, owner, false); + + owner.UpdateCriteria(CriteriaType.CollectTransmogSetFromGroup, set.TransmogSetGroupID); + } + } } void AddTemporaryAppearance(ObjectGuid itemGuid, ItemModifiedAppearanceRecord itemModifiedAppearance)