Sorry. I don't know why I put the divisor first.
set .@exp_gained,.@exp_gained/100;
function get_decimal;
dispbottom "Gained "+F_InsertComma(.@exp_gained+)" mastery points ("+get_decimal(.@exp_gained*100,.FishingLvl[FishingLvl])+"%).";
FishingExp+= .@exp_gained;
dispbottom "Total: "+F_InsertComma(FishingExp)+"/"+F_InsertComma(.FishingLvl[FishingLvl])+" ("+get_decimal(min(FishingExp,.FishingLvl[FishingLvl])*100,.FishingLvl[FishingLvl])+"%).";
if(.FishingLvl[FishingLvl] <= FishingExp){
set FishingLvl, FishingLvl + 1;
dispbottom "[Level Up] Congrats! Your Fishing level is now: "+FishingLvl;
set FishingExp,0;
if(FishingLvl == .MaxFishingLvl) {
dispbottom "Your Fishing Mastery is at maximum level.";
}
}
end;
And yeah, you'll get natural numbers. In fact the function returns a string.