don't we need can_weapon_block(), that checks the flags of the wielded weapon?