Better way to check for RandomProperty == -1, assign 0 to it for now.

--HG--
branch : trunk
This commit is contained in:
Machiavelli
2010-06-27 19:46:25 +02:00
parent cd47c87a7c
commit 0b063e189b
2 changed files with 13 additions and 11 deletions
@@ -91,15 +91,10 @@ uint32 GetItemEnchantMod(int32 entry)
if (!entry) if (!entry)
return 0; return 0;
EnchantmentStore::const_iterator tab;
if (entry == -1) if (entry == -1)
{ return 0;
/* To do: Find randomproperty/suffix based on item level. */
}
else
tab = RandomItemEnch.find(entry);
EnchantmentStore::const_iterator tab = RandomItemEnch.find(entry);
if (tab == RandomItemEnch.end()) if (tab == RandomItemEnch.end())
{ {
sLog.outErrorDb("Item RandomProperty / RandomSuffix id #%u used in `item_template` but it does not have records in `item_enchantment_template` table.",entry); sLog.outErrorDb("Item RandomProperty / RandomSuffix id #%u used in `item_template` but it does not have records in `item_enchantment_template` table.",entry);
+10 -3
View File
@@ -2256,10 +2256,17 @@ void ObjectMgr::LoadItemPrototypes()
const_cast<ItemPrototype*>(proto)->Sheath = SHEATHETYPE_NONE; const_cast<ItemPrototype*>(proto)->Sheath = SHEATHETYPE_NONE;
} }
if (proto->RandomProperty > 0 && !sItemRandomPropertiesStore.LookupEntry(GetItemEnchantMod(proto->RandomProperty))) if (proto->RandomProperty)
{ {
sLog.outErrorDb("Item (Entry: %u) has unknown (wrong or not listed in `item_enchantment_template`) RandomProperty (%u)",i,proto->RandomProperty); // To be implemented later
const_cast<ItemPrototype*>(proto)->RandomProperty = 0; if (proto->RandomProperty == -1)
const_cast<ItemPrototype*>(proto)->RandomProperty = 0;
else if (!sItemRandomPropertiesStore.LookupEntry(GetItemEnchantMod(proto->RandomProperty)))
{
sLog.outErrorDb("Item (Entry: %u) has unknown (wrong or not listed in `item_enchantment_template`) RandomProperty (%u)",i,proto->RandomProperty);
const_cast<ItemPrototype*>(proto)->RandomProperty = 0;
}
} }
if (proto->RandomSuffix && !sItemRandomSuffixStore.LookupEntry(GetItemEnchantMod(proto->RandomSuffix))) if (proto->RandomSuffix && !sItemRandomSuffixStore.LookupEntry(GetItemEnchantMod(proto->RandomSuffix)))