Or a more ideal solution, might be something along the lines of spell level and skill, limiting the amount of skillups.
Something along these lines:
Sk = your characters level in the spell skill
Sp = the spell level, e.g., Fire Armor requires a skill level of 4, so it would be a 4.
T = some tolorance value.
V = Sk - (Sp + T)
If , V <= 0, then the greater the chance of skillup, on successful spell completion. If V is positive, then the lower the chance of skillup
Something like :
V <= -4 50%
V <= -3 35%
V <= -2 25%
V <= -1 15%
V <= 0 10%
V > 0 5%
V > T 1%
The reason for T, is that if you have new spells every four skill levels, you might want a T=2, so that it is easier to gain enough skill to be able to somewhat succefully cast the next level of spell, and thereby gain more skill points.
Of course, this assumes that there are evenly spaced spells available.
Currently, with just the low level shields/armors, we wouldn't be able to get much past skill level 6ish or so and we'd never be able to cast the level 12 spells.
-p