diff options
-rw-r--r-- | src/server/game/Entities/Item/ItemTemplate.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Entities/Item/ItemTemplate.cpp b/src/server/game/Entities/Item/ItemTemplate.cpp index a55a90ed77c..13aa6980eb0 100644 --- a/src/server/game/Entities/Item/ItemTemplate.cpp +++ b/src/server/game/Entities/Item/ItemTemplate.cpp @@ -66,8 +66,10 @@ float ItemTemplate::getDPS() const int32 ItemTemplate::getFeralBonus(int32 extraDPS /*= 0*/) const { + constexpr uint32 feralApEnabledInventoryTypeMaks = 1 << INVTYPE_WEAPON | 1 << INVTYPE_2HWEAPON | 1 << INVTYPE_WEAPONMAINHAND | 1 << INVTYPE_WEAPONOFFHAND; + // 0x02A5F3 - is mask for Melee weapon from ItemSubClassMask.dbc - if (Class == ITEM_CLASS_WEAPON && (1 << SubClass) & 0x02A5F3) + if (Class == ITEM_CLASS_WEAPON && (1 << InventoryType) & feralApEnabledInventoryTypeMaks) { int32 bonus = int32((extraDPS + getDPS()) * 14.0f) - 767; if (bonus < 0) |