Exemple #1
0
        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);
        }
Exemple #2
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);
        }
Exemple #3
0
 public Item GetItem(TradeSlots slot)
 {
     return(!m_items[(int)slot].IsEmpty() ? m_player.GetItemByGuid(m_items[(int)slot]) : null);
 }