in your skill.c
case AB_HIGHNESSHEAL:
{
int heal = skill_calc_heal(src, bl, skill_id, skill_lv, true);
int heal_get_jobexp;
if( status_isimmune(bl) ||
(dstmd && (dstmd->mob_id == MOBID_EMPERIUM || mob_is_battleground(dstmd))) ||
(dstsd && pc_ismadogear(dstsd)) )//Mado is immune to heal
heal=0;
if( tsc && tsc->count ) {
if( tsc->data[SC_KAITE] && !(sstatus->mode&MD_BOSS) ) { //Bounce back heal
if (--tsc->data[SC_KAITE]->val2 <= 0)
status_change_end(bl, SC_KAITE, INVALID_TIMER);
if (src == bl)
heal=0; //When you try to heal yourself under Kaite, the heal is voided.
else {
bl = src;
dstsd = sd;
}
}
else if (tsc->data[SC_BERSERK] || tsc->data[SC_SATURDAYNIGHTFEVER])
heal = 0; //Needed so that it actually displays 0 when healing.
}
clif_skill_nodamage (src, bl, skill_id, heal, 1);
if( tsc && tsc->data[SC_AKAITSUKI] && heal && skill_id != HLIF_HEAL )
heal = ~heal + 1;
heal_get_jobexp = status_heal(bl,heal,0,0);
if(sd && dstsd && heal > 0 && sd != dstsd && battle_config.heal_exp > 0){
heal_get_jobexp = heal_get_jobexp * battle_config.heal_exp / 100;
if (heal_get_jobexp <= 0)
heal_get_jobexp = 1;
pc_gainexp (sd, bl, 0, heal_get_jobexp, false);
}
}
break;
change this line
heal_get_jobexp = status_heal(bl,heal,0,0);
to this
if(heal > 0) heal_get_jobexp = status_percent_heal(bl, skill_lv * 20, 0)
and it will now heal for 20% of max hp per skill level (100% at max level)