I think they are fine, because otherwise everyone will default to the "two attacks per round via dual-wielding" setup.


.int humanoid::GetGlobalResistance(int Type) const
{
int Resistance = GetResistance(Type);
if(GetCloak())
Resistance += GetCloak()->GetResistance(Type);
if(GetRightWielded())
{
if(GetRightWielded()->IsShield(this))
Resistance += GetRightWielded()->GetResistance(Type);
}
if(GetLeftWielded())
{
if(GetLeftWielded()->IsShield(this))
Resistance += GetLeftWielded()->GetResistance(Type);
}
if(!(Type & PHYSICAL_DAMAGE))
{
if(GetAmulet())
Resistance += GetAmulet()->GetResistance(Type);
if(GetRightRing())
Resistance += GetRightRing()->GetResistance(Type);
if(GetLeftRing())
Resistance += GetLeftRing()->GetResistance(Type);
}
return Resistance;
}
for dual-wielder UT is a toy, Jenny doesn't stand a chance, and i can run around farming the plants to no end. but tried the same with long swords, and… killed by a hedgehogs. or plants. or Jenny. with more training heavy weapons will prolly perform better, but i never lived long enough to see that. 
It doesn't work well in end-game (crits and magic everywhere), but early to mid game can be quite successfully turtled with a good heavy armour and shield.