More work on RoF+ Cursor Buffer.

This commit is contained in:
Trevius 2014-12-21 12:14:37 -06:00
parent d454763cd1
commit cba68645a8

View File

@ -682,7 +682,7 @@ void Client::SummonCursorBuffer() {
// Temporary work-around for the RoF+ Client Buffer // Temporary work-around for the RoF+ Client Buffer
// Instead of letting the client move items around in cursor buffer, // Instead of letting the client move items around in cursor buffer,
// we can just delete an item from the buffer and summon it to the cursor. // we can just delete an item from the buffer and summon it to the cursor.
if (GetClientVersion() > EQClientRoF) if (GetClientVersion() >= EQClientRoF)
{ {
if (!GetInv().CursorEmpty()) if (!GetInv().CursorEmpty())
{ {
@ -1539,15 +1539,19 @@ bool Client::SwapItem(MoveItem_Struct* move_in) {
} }
safe_delete(world_inst); safe_delete(world_inst);
if (src_slot_id == MainCursor) { if (src_slot_id == MainCursor)
std::list<ItemInst*>::const_iterator s = m_inv.cursor_begin(), e = m_inv.cursor_end(); {
if (dstitemid == 0) if (dstitemid == 0)
{ {
SummonCursorBuffer(); SummonCursorBuffer();
} }
std::list<ItemInst*>::const_iterator s = m_inv.cursor_begin(), e = m_inv.cursor_end();
database.SaveCursor(character_id, s, e); database.SaveCursor(character_id, s, e);
} else }
else
{
database.SaveInventory(character_id, m_inv[src_slot_id], src_slot_id); database.SaveInventory(character_id, m_inv[src_slot_id], src_slot_id);
}
if(RuleB(QueryServ, PlayerLogMoves)) { QSSwapItemAuditor(move_in, true); } // QS Audit if(RuleB(QueryServ, PlayerLogMoves)) { QSSwapItemAuditor(move_in, true); } // QS Audit