aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <none@none>2010-07-20 21:37:15 +0200
committerShauren <none@none>2010-07-20 21:37:15 +0200
commit66e068436b6b4573de3c9574eba862679da4938f (patch)
treecc998fa97f6f1030795de478ee20dac0a381940a
parenta7c52864b45a3142704f93aed85bfbbde4627670 (diff)
Fixed item duplication exploit
Closes issue #3035. --HG-- branch : trunk
-rw-r--r--src/server/game/Entities/Player/Player.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 5a8cb7b66fc..7a63a794456 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -12324,6 +12324,13 @@ void Player::SwapItem(uint16 src, uint16 dst)
return;
}
+ // prevent equipping bag in the same slot from its inside
+ if (IsBagPos(dst) && srcbag == dstslot)
+ {
+ SendEquipError(EQUIP_ERR_ITEMS_CANT_BE_SWAPPED, pSrcItem, pDstItem);
+ return;
+ }
+
// DST checks
if (pDstItem)