I took a slightly different approach to this.
I would think that AC should always give *some* protection against damage. The amount should vary with each hit. I agree with you that it should not be a constant.
Here's what I did:
Code:
if (IsClient() && damage>0)
{
int acwork=GetAC()/20;
if (acwork>0)
{
damage-=acwork;
damage-=rand()%acwork;
if (damage<0) damage=0;
}
}
So you get 5% to 10% protection from each hit. These values need to be adjusted. But it doesn't seem to me that if you have a lot of AC that you should ever get hit for the maxdmg.