Merge commit 'origin/master' into 310

Conflicts:
	src/game/SpellAuras.cpp
	src/game/SpellEffects.cpp
This commit is contained in:
tomrus88 2009-05-24 10:11:26 +04:00
commit afd82229d7
34 changed files with 357 additions and 344 deletions

View file

@ -8345,14 +8345,6 @@ uint32 Player::GetAttackBySlot( uint8 slot )
}
}
bool Player::HasBankBagSlot( uint8 slot ) const
{
uint32 maxslot = GetByteValue(PLAYER_BYTES_2, 2) + BANK_SLOT_BAG_START;
if( slot < maxslot )
return true;
return false;
}
bool Player::IsInventoryPos( uint8 bag, uint8 slot )
{
if( bag == INVENTORY_SLOT_BAG_0 && slot == NULL_SLOT )
@ -9733,44 +9725,44 @@ uint8 Player::CanUnequipItem( uint16 pos, bool swap ) const
uint8 Player::CanBankItem( uint8 bag, uint8 slot, ItemPosCountVec &dest, Item *pItem, bool swap, bool not_loading ) const
{
if( !pItem )
if (!pItem)
return swap ? EQUIP_ERR_ITEMS_CANT_BE_SWAPPED : EQUIP_ERR_ITEM_NOT_FOUND;
uint32 count = pItem->GetCount();
sLog.outDebug( "STORAGE: CanBankItem bag = %u, slot = %u, item = %u, count = %u", bag, slot, pItem->GetEntry(), pItem->GetCount());
ItemPrototype const *pProto = pItem->GetProto();
if( !pProto )
if (!pProto)
return swap ? EQUIP_ERR_ITEMS_CANT_BE_SWAPPED : EQUIP_ERR_ITEM_NOT_FOUND;
if( pItem->IsBindedNotWith(GetGUID()) )
if (pItem->IsBindedNotWith(GetGUID()))
return EQUIP_ERR_DONT_OWN_THAT_ITEM;
// check count of items (skip for auto move for same player from bank)
uint8 res = CanTakeMoreSimilarItems(pItem);
if(res != EQUIP_ERR_OK)
if (res != EQUIP_ERR_OK)
return res;
// in specific slot
if( bag != NULL_BAG && slot != NULL_SLOT )
if (bag != NULL_BAG && slot != NULL_SLOT)
{
if( slot >= BANK_SLOT_BAG_START && slot < BANK_SLOT_BAG_END )
if (slot >= BANK_SLOT_BAG_START && slot < BANK_SLOT_BAG_END)
{
if (!pItem->IsBag())
return EQUIP_ERR_ITEM_DOESNT_GO_TO_SLOT;
if( !HasBankBagSlot( slot ) )
if (slot - BANK_SLOT_BAG_START >= GetBankBagSlotCount())
return EQUIP_ERR_MUST_PURCHASE_THAT_BAG_SLOT;
if( uint8 cantuse = CanUseItem( pItem, not_loading ) != EQUIP_ERR_OK )
if (uint8 cantuse = CanUseItem( pItem, not_loading ) != EQUIP_ERR_OK)
return cantuse;
}
res = _CanStoreItem_InSpecificSlot(bag,slot,dest,pProto,count,swap,pItem);
if(res!=EQUIP_ERR_OK)
if (res!=EQUIP_ERR_OK)
return res;
if(count==0)
if (count==0)
return EQUIP_ERR_OK;
}