From 13024dee646509789cb855149896c3bc738f7218 Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Sun, 21 Mar 2010 16:50:04 +0100 Subject: [PATCH] - 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 --- src/game/ItemHandler.cpp | 1 - src/game/TradeHandler.cpp | 2 -- 2 files changed, 3 deletions(-) diff --git a/src/game/ItemHandler.cpp b/src/game/ItemHandler.cpp index 0d338a6ad7..5c577c87af 100644 --- a/src/game/ItemHandler.cpp +++ b/src/game/ItemHandler.cpp @@ -1516,5 +1516,4 @@ void WorldSession::HandleItemRefund(WorldPacket &recv_data) uint32 arenaRefund = iece->reqarenapoints; if (arenaRefund) _player->ModifyArenaPoints(arenaRefund); - } diff --git a/src/game/TradeHandler.cpp b/src/game/TradeHandler.cpp index 23800b81ae..64c1d8e904 100644 --- a/src/game/TradeHandler.cpp +++ b/src/game/TradeHandler.cpp @@ -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); }