[8160] Now finally correct extraction uint16 enchantment id from uint32.

This commit is contained in:
VladimirMangos 2009-07-11 19:06:00 +04:00
parent fcc1acfa83
commit aed2a9f9b3
2 changed files with 7 additions and 2 deletions

View file

@ -1494,7 +1494,12 @@ bool Player::BuildEnumData( QueryResult * result, WorldPacket * p_data )
uint32 enchants = GetUInt32ValueFromArray(data, visualbase + 1);
for(uint8 enchantSlot = PERM_ENCHANTMENT_SLOT; enchantSlot <= TEMP_ENCHANTMENT_SLOT; ++enchantSlot)
{
if(enchant = sSpellItemEnchantmentStore.LookupEntry(enchants >> enchantSlot*16))
// values stored in 2 uint16
uint32 enchantId = 0x0000FFFF & (enchants >> enchantSlot*16);
if(!enchantId)
continue;
if(enchant = sSpellItemEnchantmentStore.LookupEntry(enchantId))
break;
}