Just as a followup....
I think the original formula is actually correct. Been doing some research on it and it appears that there has only been made a slight mistake.
Original formula :
max_hit = (sint32)(((float)primaryweapon->common.damage * 2.0) + 1.0 + ((level - 25)/3.0) + ((GetSTR()+GetSkill(0x0

)/100));
The correct formula looks pretty much like it, but should be like this :
max_hit = (sint32)(((float)primaryweapon->common.damage * 2.0) + 1.0) * (((level - 25) / 3.0) + ((GetSTR() + GetSkill(0x0

) / 100));
Amazing what a calculator can do for ya
Ztaar
-- Nunc ille est magicus --