- More changes to the item handling system to prevent an item still being listed in a player's refundable storage
- Remove an assert in _SaveInventory(). Instead, I added an error log and manual removal. Please post these error logs should they occur - In _LoadInventory, also check for player_guid when loading refund data --HG-- branch : trunk
This commit is contained in:
@@ -1516,5 +1516,4 @@ void WorldSession::HandleItemRefund(WorldPacket &recv_data)
|
||||
uint32 arenaRefund = iece->reqarenapoints;
|
||||
if (arenaRefund)
|
||||
_player->ModifyArenaPoints(arenaRefund);
|
||||
|
||||
}
|
||||
|
||||
@@ -371,14 +371,12 @@ void WorldSession::HandleAcceptTradeOpcode(WorldPacket& /*recvPacket*/)
|
||||
if (myItems[i])
|
||||
{
|
||||
myItems[i]->SetUInt64Value( ITEM_FIELD_GIFTCREATOR, _player->GetGUID());
|
||||
myItems[i]->SetNotRefundable(_player, false);
|
||||
iPtr = _player->GetItemByGuid(_player->tradeItems[i]);
|
||||
_player->MoveItemFromInventory(iPtr->GetBagSlot(), iPtr->GetSlot(), true);
|
||||
}
|
||||
if (hisItems[i])
|
||||
{
|
||||
hisItems[i]->SetUInt64Value( ITEM_FIELD_GIFTCREATOR,_player->pTrader->GetGUID());
|
||||
hisItems[i]->SetNotRefundable(_player->pTrader, false);
|
||||
iPtr = _player->pTrader->GetItemByGuid(_player->pTrader->tradeItems[i]);
|
||||
_player->pTrader->MoveItemFromInventory(iPtr->GetBagSlot(), iPtr->GetSlot(), true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user