public static void HandleItemUseDecor(WorldSession session, ClientItemUseDecor itemUseDecor) { Item item = session.Player.Inventory.GetItem(itemUseDecor.ItemGuid); if (item == null) { throw new InvalidPacketValueException(); } HousingDecorInfoEntry entry = GameTableManager.HousingDecorInfo.GetEntry(item.Entry.HousingDecorInfoId); if (entry == null) { throw new InvalidPacketValueException(); } Task <Residence> task = ResidenceManager.GetResidence(session.Player.Name); session.EnqueueEvent(new TaskGenericEvent <Residence>(task, residence => { if (residence == null) { residence = ResidenceManager.CreateResidence(session.Player); } if (session.Player.Inventory.ItemUse(item)) { residence.DecorCreate(entry); } })); }
public static void HandleItemUseDecor(WorldSession session, ClientItemUseDecor itemUseDecor) { Item item = session.Player.Inventory.GetItem(itemUseDecor.ItemGuid); if (item == null) { throw new InvalidPacketValueException(); } HousingDecorInfoEntry entry = GameTableManager.Instance.HousingDecorInfo.GetEntry(item.Info.Entry.HousingDecorInfoId); if (entry == null) { throw new InvalidPacketValueException(); } if (session.Player.Inventory.ItemUse(item)) { session.Player.ResidenceManager.DecorCreate(entry); } }