diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 705c36e23..692e67fb5 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -1847,7 +1847,10 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss) if (damageInfo->blocked_amount && damageInfo->TargetState != VICTIMSTATE_BLOCKS) victim->HandleEmoteCommand(EMOTE_ONESHOT_PARRY_SHIELD); - if (damageInfo->TargetState == VICTIMSTATE_PARRY) + // Parry haste is enabled if it's not a creature or if the creature doesn't have the NO_PARRY_HASTEN flag. + bool isParryHasteEnabled = !victim->IsCreature() || + !victim->ToCreature()->GetCreatureTemplate()->HasFlagsExtra(CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN); + if (damageInfo->TargetState == VICTIMSTATE_PARRY && isParryHasteEnabled) { // Get attack timers float offtime = float(victim->getAttackTimer(OFF_ATTACK));