mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 07:37:01 +00:00
[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:
parent
1b7b00a1f5
commit
c7a5537bac
6 changed files with 16 additions and 13 deletions
|
|
@ -418,7 +418,7 @@ void WorldSession::HandleItemQuerySingleOpcode( WorldPacket & recv_data )
|
||||||
data << pProto->PageMaterial;
|
data << pProto->PageMaterial;
|
||||||
data << pProto->StartQuest;
|
data << pProto->StartQuest;
|
||||||
data << pProto->LockID;
|
data << pProto->LockID;
|
||||||
data << pProto->Material;
|
data << int32(pProto->Material);
|
||||||
data << pProto->Sheath;
|
data << pProto->Sheath;
|
||||||
data << pProto->RandomProperty;
|
data << pProto->RandomProperty;
|
||||||
data << pProto->RandomSuffix;
|
data << pProto->RandomSuffix;
|
||||||
|
|
|
||||||
|
|
@ -535,7 +535,7 @@ struct ItemPrototype
|
||||||
uint32 PageMaterial;
|
uint32 PageMaterial;
|
||||||
uint32 StartQuest; // id from QuestCache.wdb
|
uint32 StartQuest; // id from QuestCache.wdb
|
||||||
uint32 LockID;
|
uint32 LockID;
|
||||||
uint32 Material; // id from Material.dbc
|
int32 Material; // id from Material.dbc
|
||||||
uint32 Sheath;
|
uint32 Sheath;
|
||||||
uint32 RandomProperty; // id from ItemRandomProperties.dbc
|
uint32 RandomProperty; // id from ItemRandomProperties.dbc
|
||||||
uint32 RandomSuffix; // id from ItemRandomSuffix.dbc
|
uint32 RandomSuffix; // id from ItemRandomSuffix.dbc
|
||||||
|
|
|
||||||
|
|
@ -1598,11 +1598,14 @@ void ObjectMgr::LoadItemPrototypes()
|
||||||
|
|
||||||
if(dbcitem)
|
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)
|
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);
|
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
|
// It safe let use Class/Subclass from DB
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
if(proto->Unk0 != dbcitem->Unk0)
|
if(proto->Unk0 != dbcitem->Unk0)
|
||||||
{
|
{
|
||||||
|
|
@ -1612,7 +1615,7 @@ void ObjectMgr::LoadItemPrototypes()
|
||||||
|
|
||||||
if(proto->Material != dbcitem->Material)
|
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
|
// It safe let use Material from DB
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -808,14 +808,14 @@ struct GtRegenMPPerSptEntry
|
||||||
|
|
||||||
struct ItemEntry
|
struct ItemEntry
|
||||||
{
|
{
|
||||||
uint32 ID;
|
uint32 ID; // 0
|
||||||
uint32 Class;
|
//uint32 Class; // 1
|
||||||
uint32 SubClass;
|
//uint32 SubClass; // 2
|
||||||
uint32 Unk0;
|
uint32 Unk0; // 3
|
||||||
uint32 Material;
|
int32 Material; // 4
|
||||||
uint32 DisplayId;
|
uint32 DisplayId; // 5
|
||||||
uint32 InventoryType;
|
uint32 InventoryType; // 6
|
||||||
uint32 Sheath;
|
uint32 Sheath; // 7
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ItemDisplayInfoEntry
|
struct ItemDisplayInfoEntry
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ const char GtOCTRegenHPfmt[]="f";
|
||||||
//const char GtOCTRegenMPfmt[]="f";
|
//const char GtOCTRegenMPfmt[]="f";
|
||||||
const char GtRegenHPPerSptfmt[]="f";
|
const char GtRegenHPPerSptfmt[]="f";
|
||||||
const char GtRegenMPPerSptfmt[]="f";
|
const char GtRegenMPPerSptfmt[]="f";
|
||||||
const char Itemfmt[]="niiiiiii";
|
const char Itemfmt[]="nxxiiiii";
|
||||||
//const char ItemDisplayTemplateEntryfmt[]="nxxxxxxxxxxixxxxxxxxxxx";
|
//const char ItemDisplayTemplateEntryfmt[]="nxxxxxxxxxxixxxxxxxxxxx";
|
||||||
//const char ItemCondExtCostsEntryfmt[]="xiii";
|
//const char ItemCondExtCostsEntryfmt[]="xiii";
|
||||||
const char ItemExtendedCostEntryfmt[]="niiiiiiiiiiiiix";
|
const char ItemExtendedCostEntryfmt[]="niiiiiiiiiiiiix";
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "7086"
|
#define REVISION_NR "7087"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue