From 987d06fb3a6eafe1ade14269874b37170570cde9 Mon Sep 17 00:00:00 2001
From: Dennis Friis <peavey@inspircd.org>
Date: Sun, 19 Jul 2009 15:26:09 +0200
Subject: Add some sanity checks.

---
 src/map/pc.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

(limited to 'src')

diff --git a/src/map/pc.c b/src/map/pc.c
index 2e75294..570ceb6 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -2951,12 +2951,15 @@ int pc_dropitem(struct map_session_data *sd,int n,int amount)
 	int i;
 	nullpo_retr(1, sd);
 
+	if (sd->trade_partner != 0 || sd->npc_id != 0 || sd->state.storage_flag)
+		return 0; // no dropping while trading/npc/storage
+
 	if(n < 0 || n >= MAX_INVENTORY)
 		return 0;
 
 	if(amount <= 0)
 		return 0;
-    
+
 	for (i = 0; i < 11; i++) {
 		if (equip_pos[i] > 0 && sd->equip_index[i] == n) {      //Slot taken, remove item from there.
 		    pc_unequipitem(sd, sd->equip_index[i], 1);
-- 
cgit v1.2.3-70-g09d2