diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 9fdbae85b..1a2087ca5 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -528,8 +528,14 @@ int32 AuraEffect::CalculateAmount(Unit* caster) Item* item1 = caster->ToPlayer()->GetWeaponForAttack(BASE_ATTACK); Item* item2 = caster->ToPlayer()->GetWeaponForAttack(OFF_ATTACK); - if (item1 && item2 && (item1->GetTemplate()->InventoryType == INVTYPE_2HWEAPON || item2->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)) + if (!item2) + item2 = caster->ToPlayer()->GetShield(); + + if (item1 && item2 + && (item1->GetTemplate()->InventoryType == INVTYPE_2HWEAPON || item2->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)) + { amount = -10; + } else amount = 0; }