ok in magic.cpp find: char checkspellskill(I32 CasterIndex, I32 SpellType, I32 SpellCircle) { char success = 0; switch (SpellType) { and change it to char checkspellskill(I32 CasterIndex, I32 SpellType, I32 SpellCircle) { char success = 0; int tempar = (calcdef(CasterIndex,0)*10); switch (SpellType) { Also, you have to change any CASE from (example) case 1: success=checkskill(CasterIndex, MAGERY, 11, 401); break; into case 1: success=checkskill(CasterIndex, MAGERY, 11, tempar+401); break; That's it (also tested)