public void SetItem(TradeSlots slot, Item item, bool update = false) { ObjectGuid itemGuid = item ? item.GetGUID() : ObjectGuid.Empty; if (m_items[(int)slot] == itemGuid && !update) { return; } m_items[(int)slot] = itemGuid; SetAccepted(false); GetTraderData().SetAccepted(false); UpdateServerStateIndex(); Update(); // need remove possible trader spell applied to changed item if (slot == TradeSlots.NonTraded) { GetTraderData().SetSpell(0); } // need remove possible player spell applied (possible move reagent) SetSpell(0); }
public TradeSlots GetTradeSlotForItem(ObjectGuid itemGuid) { for (TradeSlots i = 0; i < TradeSlots.Count; ++i) { if (m_items[(int)i] == itemGuid) { return(i); } } return(TradeSlots.Invalid); }
public Item GetItem(TradeSlots slot) { return(!m_items[(int)slot].IsEmpty() ? m_player.GetItemByGuid(m_items[(int)slot]) : null); }