Yep. I can do that.

EDIT: This is what I came up with for the Fighter class:

Code:

void LevelUp()
{
if( lv >= 99 )
return;
bool Strong = false;
bool Str_bonus = false;
bool Agi_bonus = false;
bool Vit_bonus = false;
bool Luc_bonus = false;
bool Int_bonus = false;
if (lv < 12) Strong = true;
else if ((lv < 24) && (lv % 3 != 0)) Strong = true;
else if ((lv >= 24) && (lv % 3 == 2)) Strong = true;
//--------------------------------
Str_bonus = true;
//--------------------------------
if (lv < 21) Agi_bonus = true;
else if ((lv < 30) && (lv % 3 != 0)) Agi_bonus = true;
else if ((lv >= 30) && (lv % 2 == 1)) Agi_bonus = true;
//--------------------------------
if ((lv < 31) && (lv % 3 != 1)) Vit_bonus = true;
else if ((lv >= 31) && (lv < 41) && (lv % 2 == 0)) Vit_bonus = true;
//--------------------------------
if ((lv < 31) && (lv % 3 != 2)) Luc_bonus = true;
else if ((lv >= 31) && (lv < 41) && (lv % 2 == 1)) Luc_bonus = true;
//--------------------------------
if ((lv < 44) && (lv % 3 == 1)) Int_bonus = true;
int hpIncrease = (vitality / 4) + 1;
if(Strong)
hpIncrease = 20 + (vitality / 4) + rand(1, 6);
max_hp += hpIncrease;
//mp
strength += 1;
Agi_bonus ? agility += 1 : if(probability(50) ) agility += 1;
Vit_bonus ? vitality += 1 : if(probability(50) ) vitality += 1;
Luc_bonus ? luck += 1 : if(probability(50) ) luck += 1;
Agi_bonus ? intelligence += 1 : if(probability(50) ) intelligence += 1;
mag_def += 2;
}