diff options
Diffstat (limited to 'src/game/Item.cpp')
-rw-r--r-- | src/game/Item.cpp | 7 |
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 |