From aed2a9f9b327258296e1ee09cbe35cad3d64b5e9 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Sat, 11 Jul 2009 19:06:00 +0400 Subject: [PATCH] [8160] Now finally correct extraction uint16 enchantment id from uint32. --- src/game/Player.cpp | 7 ++++++- src/shared/revision_nr.h | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 4670722e7..2230147e6 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -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; } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 138a0b067..2bc67073e 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "8159" + #define REVISION_NR "8160" #endif // __REVISION_NR_H__