diff --git a/src/server/game/Entities/Item/ItemPrototype.h b/src/server/game/Entities/Item/ItemPrototype.h index 15cdd48e2..8691a2aa1 100644 --- a/src/server/game/Entities/Item/ItemPrototype.h +++ b/src/server/game/Entities/Item/ItemPrototype.h @@ -154,7 +154,7 @@ enum ItemFieldFlags ITEM_FLAG_UNK9 = 0x00004000, // ? ITEM_FLAG_UNK10 = 0x00008000, // ? ITEM_FLAG_UNK11 = 0x00010000, // ? - ITEM_FLAG_UNK12 = 0x00020000, // ? + ITEM_FLAG_NO_CREATOR = 0x00020000, ITEM_FLAG_UNK13 = 0x00040000, // ? ITEM_FLAG_UNK14 = 0x00080000, // ? ITEM_FLAG_UNK15 = 0x00100000, // ? @@ -659,6 +659,15 @@ struct ItemTemplate WorldPacket queryData; // pussywizard // helpers + bool HasSignature() const + { + return GetMaxStackSize() == 1 && + Class != ITEM_CLASS_CONSUMABLE && + Class != ITEM_CLASS_QUEST && + (Flags & ITEM_FLAG_NO_CREATOR) == 0 && + ItemId != 6948; /*Hearthstone*/ + } + bool CanChangeEquipStateInCombat() const { switch (InventoryType) diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 9e25358ae..a938fde58 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -1771,7 +1771,7 @@ void Spell::DoCreateItem(uint8 /*effIndex*/, uint32 itemId) } // set the "Crafted by ..." property of the item - if (pItem->GetTemplate()->Class != ITEM_CLASS_CONSUMABLE && pItem->GetTemplate()->Class != ITEM_CLASS_QUEST && newitemid != 6265 && newitemid != 6948) + if (pItem->GetTemplate()->HasSignature()) pItem->SetUInt32Value(ITEM_FIELD_CREATOR, player->GetGUIDLow()); // send info to the client