diff --git a/skymp5-server/cpp/server_guest_lib/ActionListener.cpp b/skymp5-server/cpp/server_guest_lib/ActionListener.cpp index 52748519be..1ded5f774c 100644 --- a/skymp5-server/cpp/server_guest_lib/ActionListener.cpp +++ b/skymp5-server/cpp/server_guest_lib/ActionListener.cpp @@ -844,9 +844,10 @@ void ActionListener::OnHit(const RawMessageData& rawMsgData_, float healthPercentage = currentActorValues.healthPercentage; - hitData.isHitBlocked = targetActor.IsBlockActive() - ? ShouldBeBlocked(*aggressor, targetActor) - : false; + hitData.isHitBlocked = hitData.isHitBlocked || + (targetActor.IsBlockActive() ? ShouldBeBlocked(*aggressor, targetActor) + : false); + float damage = partOne.CalculateDamage(*aggressor, targetActor, hitData); damage = damage < 0.f ? 0.f : damage; float outBaseHealth = 0.f;