Core/Transmog: Mark tracking quests as completed when completing transmog sets

Port From (https://github.com/TrinityCore/TrinityCore/commit/c5503857208d092b6e7b55fa4d3155b5eb47b702)
This commit is contained in:
Hondacrx
2025-12-08 14:12:41 -05:00
parent 2802504f76
commit 1811d83ccd
@@ -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)