I checked the numbers and it looks that right and left sweetspots are symmetrical after all. Attacks that hit inside a 113 degree cone in front of the attacker will deal full damage, attacks that hit outside a 174 degree cone will deal no damage (and the rest is linearly scaled). Or maybe I fucked up the numbers, but the formula is this:
cosAngle = dot(direction_between_agents, attacker_direction) <- unit length vectors in 2d space
noDamageCosAngle = 0.05
fullDamageCosAngle = 0.55
sweetSpotFactor = clamp((cosAngle - noDamageCosAngle) / (fullDamageCosAngle - noDamageCosAngle), 0.0, 1.0)
It doesn't make any distinction between weapon types. I think they feel different because the position/rotation of the hand (and weapon) is based on the animation, and that will affect where/when it hits.