summaryrefslogtreecommitdiffstats
path: root/source/packets/cPacket_InventorySlot.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/packets/cPacket_InventorySlot.cpp')
-rw-r--r--source/packets/cPacket_InventorySlot.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/source/packets/cPacket_InventorySlot.cpp b/source/packets/cPacket_InventorySlot.cpp
index 13b41b7b1..3c3a40210 100644
--- a/source/packets/cPacket_InventorySlot.cpp
+++ b/source/packets/cPacket_InventorySlot.cpp
@@ -1,21 +1,25 @@
#include "cPacket_InventorySlot.h"
+#include "cPacket_WholeInventory.h"
+#include "cPacket_ItemData.h"
bool cPacket_InventorySlot::Send(cSocket & a_Socket)
{
unsigned int TotalSize = c_Size;
- if( m_ItemID > -1 ) TotalSize += 1 + 2;
+
+ cPacket_ItemData Item;
+
+ TotalSize += Item.GetSize(m_ItemID);
+
char* Message = new char[TotalSize];
unsigned int i = 0;
- AppendByte ( (char)m_PacketID, Message, i );
+ AppendByte ( (char)m_PacketID, Message, i );
AppendByte ( m_WindowID, Message, i );
AppendShort ( m_SlotNum, Message, i );
- AppendShort ( m_ItemID, Message, i );
- if( m_ItemID > -1 )
- {
- AppendByte ( m_ItemCount, Message, i );
- AppendShort ( m_ItemUses, Message, i );
- }
+
+
+ Item.AppendItem(Message, i, m_ItemID, m_ItemCount, m_ItemUses);
+
bool RetVal = !cSocket::IsSocketError( SendData( a_Socket, Message, TotalSize, 0 ) );
delete [] Message;