aboutsummaryrefslogtreecommitdiff
path: root/src/game/TradeHandler.cpp
diff options
context:
space:
mode:
authorMachiavelli <none@none>2010-03-20 16:26:16 +0100
committerMachiavelli <none@none>2010-03-20 16:26:16 +0100
commita0d8b0be48ea0419d6014d0a54256f4ef278c860 (patch)
tree0b1b6cfcab127fc6967f13b1576a8963bb1c07ed /src/game/TradeHandler.cpp
parent10417f1e6db974ff6e46a88b06147e87820ba850 (diff)
Item system update
- Set ITEM_FIELD_CREATE_PLAYED_TIME to 0 in Item::Create, should fix crash described in issue 1199 - Change some function calls so on Player::_saveInventory the core doesn't have to check for existance of item anymore when iterating over m_refundableItems. The loop will now only update played time, removal of items from this set is done in other functions. - Cleanup in affected functions. --HG-- branch : trunk
Diffstat (limited to 'src/game/TradeHandler.cpp')
-rw-r--r--src/game/TradeHandler.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/game/TradeHandler.cpp b/src/game/TradeHandler.cpp
index 7baf068708a..d64b2f04d2f 100644
--- a/src/game/TradeHandler.cpp
+++ b/src/game/TradeHandler.cpp
@@ -202,9 +202,6 @@ void WorldSession::moveItems(Item* myItems[], Item* hisItems[])
_player->pTrader->GetName(),_player->pTrader->GetSession()->GetAccountId());
}
-
- // make not refundable
- myItems[i]->SetNotRefundable(_player);
// store
_player->pTrader->MoveItemToInventory( traderDst, myItems[i], true, true);
}
@@ -220,8 +217,6 @@ void WorldSession::moveItems(Item* myItems[], Item* hisItems[])
_player->GetName(),_player->GetSession()->GetAccountId());
}
- // make not refundable
- hisItems[i]->SetNotRefundable(_player->pTrader);
// store
_player->MoveItemToInventory( playerDst, hisItems[i], true, true);
}
@@ -378,12 +373,14 @@ void WorldSession::HandleAcceptTradeOpcode(WorldPacket& /*recvPacket*/)
myItems[i]->SetUInt64Value( ITEM_FIELD_GIFTCREATOR, _player->GetGUID());
iPtr = _player->GetItemByGuid(_player->tradeItems[i]);
_player->MoveItemFromInventory(iPtr->GetBagSlot(), iPtr->GetSlot(), true);
+ myItems[i]->SetNotRefundable(_player);
}
if (hisItems[i])
{
hisItems[i]->SetUInt64Value( ITEM_FIELD_GIFTCREATOR,_player->pTrader->GetGUID());
iPtr = _player->pTrader->GetItemByGuid(_player->pTrader->tradeItems[i]);
_player->pTrader->MoveItemFromInventory(iPtr->GetBagSlot(), iPtr->GetSlot(), true);
+ hisItems[i]->SetNotRefundable(_player->pTrader);
}
}