From 5ea92ebb129fd868bcb5049616266b4d4db6f1f4 Mon Sep 17 00:00:00 2001 From: megamage Date: Fri, 13 Mar 2009 14:57:42 -0600 Subject: *Fix a bug of checking bags which can store items. Backported from TC2. Thanks to Iskander for pointing out the bug. --HG-- branch : trunk --- src/game/Player.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 6345a8d2d1f..3ed59445d88 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -9657,6 +9657,12 @@ uint8 Player::CanStoreItems( Item **pItems,int count) const pBag = (Bag*)GetItemByPos( INVENTORY_SLOT_BAG_0, t ); if( pBag ) { + pBagProto = pBag->GetProto(); + + // special bag already checked + if( pBagProto && (pBagProto->Class != ITEM_CLASS_CONTAINER || pBagProto->SubClass != ITEM_SUBCLASS_CONTAINER)) + continue; + for(uint32 j = 0; j < pBag->GetBagSize(); j++) { if( inv_bags[t-INVENTORY_SLOT_BAG_START][j] == 0 ) -- cgit v1.2.3