aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/Player.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index bfd47aa8279..4185e18ee47 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -9848,14 +9848,17 @@ uint8 Player::CanEquipItem( uint8 slot, uint16 &dest, Item *pItem, bool swap, bo
{
if( Item* pBag = GetItemByPos( INVENTORY_SLOT_BAG_0, i ) )
{
- if( ItemPrototype const* pBagProto = pBag->GetProto() )
+ if( pBag != pItem )
{
- if( pBagProto->Class==pProto->Class && (!swap || pBag->GetSlot() != eslot ) )
+ if( ItemPrototype const* pBagProto = pBag->GetProto() )
{
- if(pBagProto->SubClass == ITEM_SUBCLASS_AMMO_POUCH)
- return EQUIP_ERR_CAN_EQUIP_ONLY1_AMMOPOUCH;
- else
- return EQUIP_ERR_CAN_EQUIP_ONLY1_QUIVER;
+ if( pBagProto->Class==pProto->Class && (!swap || pBag->GetSlot() != eslot ) )
+ {
+ if(pBagProto->SubClass == ITEM_SUBCLASS_AMMO_POUCH)
+ return EQUIP_ERR_CAN_EQUIP_ONLY1_AMMOPOUCH;
+ else
+ return EQUIP_ERR_CAN_EQUIP_ONLY1_QUIVER;
+ }
}
}
}