aboutsummaryrefslogtreecommitdiff
path: root/src/game/Item.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Item.cpp')
-rw-r--r--src/game/Item.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/game/Item.cpp b/src/game/Item.cpp
index c44bca06246..02a9b37d994 100644
--- a/src/game/Item.cpp
+++ b/src/game/Item.cpp
@@ -24,6 +24,7 @@
#include "WorldPacket.h"
#include "Database/DatabaseEnv.h"
#include "ItemEnchantmentMgr.h"
+#include "SpellMgr.h"
void AddItemsSetItem(Player*player,Item *item)
{
@@ -744,6 +745,12 @@ bool Item::IsFitToSpellRequirements(SpellEntry const* spellInfo) const
if (spellInfo->EquippedItemClass != -1) // -1 == any item class
{
+ // Special case - accept vellum for armor/weapon requirements
+ if( (spellInfo->EquippedItemClass==ITEM_CLASS_ARMOR && proto->IsArmorVellum())
+ ||( spellInfo->EquippedItemClass==ITEM_CLASS_WEAPON && proto->IsWeaponVellum()))
+ if (spellmgr.IsSkillTypeSpell(spellInfo->Id, SKILL_ENCHANTING)) // only for enchanting spells
+ return true;
+
if(spellInfo->EquippedItemClass != int32(proto->Class))
return false; // wrong item class