From: Kenny G. <ken...@us...> - 2007-06-21 01:03:22
|
Update of /cvsroot/planeshift/planeshift/src/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27709/src/server Modified Files: slotmanager.cpp Log Message: - Remove incorrect ! in test when transferring from world containers to inventory. Also made it ignore the specific destination slot requested because psCharacterInventory::Add doesn't correctly handle the case where the destination slot is already full. (Stupidly, SlotManager does that.) Index: slotmanager.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/slotmanager.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** slotmanager.cpp 20 Jun 2007 19:36:56 -0000 1.3 --- slotmanager.cpp 21 Jun 2007 01:03:22 -0000 1.4 *************** *** 221,230 **** // See if it can be placed in the player's inventory ! INVENTORY_SLOT_NUMBER destSlot = (INVENTORY_SLOT_NUMBER) (msg.toSlot + (int) PSCHARACTER_SLOT_BULK1); ! if (!chr->Inventory().Add(itemProposed, true, true, destSlot)) { // Now that it was successful, take it out of the world container worldContainer->RemoveFromContainer(itemProposed); ! chr->Inventory().Add(itemProposed, false, true, destSlot); return; } --- 221,232 ---- // See if it can be placed in the player's inventory ! // TODO: Can't use destSlot here because Add doesn't check if the destination slot's full. ! // After fixing Add, re-enable this. ! //INVENTORY_SLOT_NUMBER destSlot = (INVENTORY_SLOT_NUMBER) (msg.toSlot + (int) PSCHARACTER_SLOT_BULK1); ! if (chr->Inventory().Add(itemProposed, true)) { // Now that it was successful, take it out of the world container worldContainer->RemoveFromContainer(itemProposed); ! chr->Inventory().Add(itemProposed, false); return; } |