From 707c9c9ccb1d786159e0e55f157316323fdef158 Mon Sep 17 00:00:00 2001 From: ratkosrb Date: Wed, 28 Aug 2024 14:56:53 +0300 Subject: [PATCH] It's specifically unarmed state you can't block in. --- src/game/Objects/Unit.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/game/Objects/Unit.cpp b/src/game/Objects/Unit.cpp index 7735c425270..c3e2146fcd9 100644 --- a/src/game/Objects/Unit.cpp +++ b/src/game/Objects/Unit.cpp @@ -2720,13 +2720,16 @@ float Unit::GetUnitBlockChance() const if (Player const* pPlayer = ToPlayer()) { - // This is not reproducable on classic, but it's possible they allowed behavior from tbc to stay. - // If anyone finds video proof from vanilla of blocking while shield is sheathed we can revert. + // Test results from classic: + // Sheath State Unarmed - Can't Block + // Sheath State Melee - Can Block + // Sheath State Ranged - Can Block + // Parry and Dodge don't have any sheath state restrictions. // https://warcraft.wiki.gg/wiki/Patch_2.1.0_(undocumented_changes) // "You can now block attacks while your shield is in the sheathed position." // "Previously, Warriors, Shamans and Paladins were vulnerable while using" // "instant-cast abilities that caused their shield to momentarily appear on their back." - if (pPlayer->GetSheath() != SHEATH_STATE_MELEE) + if (pPlayer->GetSheath() == SHEATH_STATE_UNARMED) return 0.0f; if (pPlayer->CanBlock() && pPlayer->CanUseEquippedWeapon(OFF_ATTACK))