Fix enchant items in trade window.
Original patch by Kierkegaard closes issue #985 --HG-- branch : trunk
This commit is contained in:
@@ -1244,6 +1244,12 @@ class Player : public Unit, public GridObject<Player>
|
|||||||
Player* GetTrader() const { return pTrader; }
|
Player* GetTrader() const { return pTrader; }
|
||||||
void ClearTrade();
|
void ClearTrade();
|
||||||
void TradeCancel(bool sendback);
|
void TradeCancel(bool sendback);
|
||||||
|
Item *GetItemByTradeSlot(uint8 slot) const
|
||||||
|
{
|
||||||
|
if (slot < TRADE_SLOT_COUNT && tradeItems[slot])
|
||||||
|
return GetItemByGuid(tradeItems[slot]);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
void UpdateEnchantTime(uint32 time);
|
void UpdateEnchantTime(uint32 time);
|
||||||
void UpdateItemDuration(uint32 time, bool realtimeonly=false);
|
void UpdateItemDuration(uint32 time, bool realtimeonly=false);
|
||||||
|
|||||||
+7
-9
@@ -208,18 +208,16 @@ void SpellCastTargets::Update(Unit* caster)
|
|||||||
NULL;
|
NULL;
|
||||||
|
|
||||||
m_itemTarget = NULL;
|
m_itemTarget = NULL;
|
||||||
if(caster->GetTypeId() == TYPEID_PLAYER)
|
if (caster->GetTypeId() == TYPEID_PLAYER)
|
||||||
{
|
{
|
||||||
if(m_targetMask & TARGET_FLAG_ITEM)
|
if(m_targetMask & TARGET_FLAG_ITEM)
|
||||||
m_itemTarget = caster->ToPlayer()->GetItemByGuid(m_itemTargetGUID);
|
m_itemTarget = caster->ToPlayer()->GetItemByGuid(m_itemTargetGUID);
|
||||||
else if(m_targetMask & TARGET_FLAG_TRADE_ITEM)
|
else if (m_targetMask & TARGET_FLAG_TRADE_ITEM)
|
||||||
{
|
if (m_itemTargetGUID == TRADE_SLOT_NONTRADED) // here it is not guid but slot. Also prevent hacking slots
|
||||||
// here it is not guid but slot
|
if (Player* pTrader = caster->ToPlayer()->GetTrader())
|
||||||
Player* pTrader = caster->ToPlayer()->GetTrader();
|
m_itemTarget = pTrader->GetItemByTradeSlot(m_itemTargetGUID);
|
||||||
if(pTrader && m_itemTargetGUID < TRADE_SLOT_COUNT)
|
|
||||||
m_itemTarget = pTrader->GetItemByGuid(m_itemTargetGUID);
|
if (m_itemTarget)
|
||||||
}
|
|
||||||
if(m_itemTarget)
|
|
||||||
m_itemTargetEntry = m_itemTarget->GetEntry();
|
m_itemTargetEntry = m_itemTarget->GetEntry();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user