Думаю это вопрос математики и твоей фантазии, а не программирования или RunUO. Поменяй формулу, привязав "int nextLevel" не к текущему и следующему уровням существа, а к его статам например. Что-нибудь вроде
Код
int nextLevel = ( attacker.Str + attacker.Dex + attacker.Int ) * 100 * attacker.Level + ( attacker.Str + attacker.Dex + attacker.Int ) * 100 * ( attacker.Level - 1 );
Тогда например при сумме скиллов в 100 распределение будет следующим:
2 уровень = 1000 опыта;
3 уровень = 2000 + 1000 опыта;
4 уровень = 3000 + 2000 опыта;
5 уровень = 4000 + 3000 опыта;
Надо экспериментировать, подбирать