Made a change and does appear to be working now.
I put the pal/sk check in the first if statement as follows:
Code:
if ((GetClass() == PALADIN || GetClass() == SHADOWKNIGHT) && GetLevel() >= 15)
critChance += RuleI(Combat, PalShdBaseCritChance);
That seemed to do the trick. The testing was much more in line with expectations. I started at level 14 and go no crits in 3 mobs over 50 swings.
Leveled up to 15, got a crit after 5 strikes, but then it went to 1 in under 20.
Not sure why the order of the statement made that much impact but it's working as I intended.
Now to improve paladin's hit chances closer to warriors.. time to sniff through more code..
-lax