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:
@@ -662,20 +662,28 @@ namespace Game.Entities
|
|||||||
_temporaryAppearances.Remove(itemModifiedAppearance.Id);
|
_temporaryAppearances.Remove(itemModifiedAppearance.Id);
|
||||||
}
|
}
|
||||||
|
|
||||||
_owner.GetPlayer().UpdateCriteria(CriteriaType.LearnAnyTransmog, 1);
|
owner.UpdateCriteria(CriteriaType.LearnAnyTransmog, 1);
|
||||||
|
|
||||||
ItemRecord item = CliDB.ItemStorage.LookupByKey(itemModifiedAppearance.ItemID);
|
ItemRecord item = CliDB.ItemStorage.LookupByKey(itemModifiedAppearance.ItemID);
|
||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
int transmogSlot = Item.ItemTransmogrificationSlots[(int)item.inventoryType];
|
int transmogSlot = Item.ItemTransmogrificationSlots[(int)item.inventoryType];
|
||||||
if (transmogSlot >= 0)
|
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);
|
var sets = Global.DB2Mgr.GetTransmogSetsForItemModifiedAppearance(itemModifiedAppearance.Id);
|
||||||
foreach (TransmogSetRecord set in sets)
|
foreach (TransmogSetRecord set in sets)
|
||||||
|
{
|
||||||
if (IsSetCompleted(set.Id))
|
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)
|
void AddTemporaryAppearance(ObjectGuid itemGuid, ItemModifiedAppearanceRecord itemModifiedAppearance)
|
||||||
|
|||||||
Reference in New Issue
Block a user