[7087] Use signed type as expected for item material field. This also fix -1 value output for it.

Also disable Class/Subclass item_template check by dbc data for avoid unexpected log spam (dbc have some wrong values for this fields).
This commit is contained in:
VladimirMangos 2009-01-14 23:24:58 +03:00
parent 1b7b00a1f5
commit c7a5537bac
6 changed files with 16 additions and 13 deletions

View file

@ -418,7 +418,7 @@ void WorldSession::HandleItemQuerySingleOpcode( WorldPacket & recv_data )
data << pProto->PageMaterial;
data << pProto->StartQuest;
data << pProto->LockID;
data << pProto->Material;
data << int32(pProto->Material);
data << pProto->Sheath;
data << pProto->RandomProperty;
data << pProto->RandomSuffix;

View file

@ -535,7 +535,7 @@ struct ItemPrototype
uint32 PageMaterial;
uint32 StartQuest; // id from QuestCache.wdb
uint32 LockID;
uint32 Material; // id from Material.dbc
int32 Material; // id from Material.dbc
uint32 Sheath;
uint32 RandomProperty; // id from ItemRandomProperties.dbc
uint32 RandomSuffix; // id from ItemRandomSuffix.dbc

View file

@ -1598,11 +1598,14 @@ void ObjectMgr::LoadItemPrototypes()
if(dbcitem)
{
/* disabled: have some strange wrong cases for Class/Subclass values.
for enable also uncomment Class/Sublcas fields in ItemEntry structure and in Itemfmt[]
if(proto->Class != dbcitem->Class || proto->SubClass != dbcitem->SubClass)
{
sLog.outErrorDb("Item (Entry: %u) not correct (Class: %u, Sub: %u) pair, must be (Class: %u, Sub: %u) (still using DB value).",i,proto->Class,proto->SubClass,dbcitem->Class,dbcitem->SubClass);
// It safe let use Class/Subclass from DB
}
*/
if(proto->Unk0 != dbcitem->Unk0)
{
@ -1612,7 +1615,7 @@ void ObjectMgr::LoadItemPrototypes()
if(proto->Material != dbcitem->Material)
{
sLog.outErrorDb("Item (Entry: %u) not correct %u material, must be %u (still using DB value).",i,proto->Material,dbcitem->Material);
sLog.outErrorDb("Item (Entry: %u) not correct %i material, must be %i (still using DB value).",i,proto->Material,dbcitem->Material);
// It safe let use Material from DB
}