diff options
-rw-r--r-- | src/game/Player.cpp | 15 |
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; + } } } } |