aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-06-13 18:56:22 +0200
committerShauren <shauren.trinity@gmail.com>2023-06-13 18:56:22 +0200
commitd1c6b9d253faa61246f04058719f7f3c07548165 (patch)
tree11c24647bf64c72ef017f699fbad5f1e1c40db85
parent2cd8b6a5756e0ef8dd69e6b78ee09b72a0d9ddba (diff)
Core/Items: Mirror client logic when determining whether to apply feral attack power bonuses or not
Closes #28674
-rw-r--r--src/server/game/Entities/Item/ItemTemplate.cpp4
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)