LOL, you are right about the chance to hit. If you had max avoidance from items (100) and added evasive to that (50*10 = 500), the current code would subtract 60 from chance to hit. Even with no item avoidance, it would subract 50 from it. And according to this code here from attack.cpp, you would be getting hit at most 4% of the time down to 0 if you had just 40 avoidance lol.
Code:
bool Mob::CheckHitChance(Mob* other, SkillType skillinuse, int Hand)
{
/*
Father Nitwit:
Reworked a lot of this code to achieve better balance at higher levels.
The old code basically meant that any in high level (50+) combat,
both parties always had 95% chance to hit the other one.
*/
Mob *attacker=other;
Mob *defender=this;
float chancetohit = 54.0f;
So, your idea for avoidance sounds perfect. I will add that in right now and test it tonight. I may also try playing with the chance to hit, because I don't really like the idea that it is hard coded like that. No wonder players complain about only hitting less than 50% of the time! Shouldn't stats/AAs/items and skills be determining most of the chance to hit and not a hard coding?
I am still looking over your code for proc bonuses though. I am not sure I understand exactly what is going on there yet lol.
EDIT: I moved the Proc Chance Discussion to another thread here:
http://www.eqemulator.net/forums/sho...353#post158353