Я пофиксил вот этимdiff -r 1782ed85a440 src/game/Player.cpp
--- a/src/game/Player.cpp Thu Jan 28 22:06:31 2010 +0100
+++ b/src/game/Player.cpp Sun Jan 31 00:44:46 2010 +0600
@@ -19411,17 +19411,17 @@ bool Player::EnchantmentFitsRequirements
uint8 curcount[4] = {0, 0, 0, 0};
//counting current equipped gem colors
for (uint8 i = EQUIPMENT_SLOT_START; i < EQUIPMENT_SLOT_END; ++i)
{
if(i == slot)
continue;
Item *pItem2 = GetItemByPos( INVENTORY_SLOT_BAG_0, i );
- if(pItem2 && pItem2->GetProto()->Socket[0].Color)
+ if(pItem2 && !pItem2->IsBroken() && pItem2->GetProto()->Socket[0].Color)
{
for (uint32 enchant_slot = SOCK_ENCHANTMENT_SLOT; enchant_slot < SOCK_ENCHANTMENT_SLOT+3; ++enchant_slot)
{
uint32 enchant_id = pItem2->GetEnchantmentId(EnchantmentSlot(enchant_slot));
if(!enchant_id)
continue;
SpellItemEnchantmentEntry const* enchantEntry = sSpellItemEnchantmentStore.LookupEntry(enchant_id) ;
Хороший фикс.
Я так понемаю ето патч в ядро ане sql запрос тоже сгодится...