case WM_LULLABY_DEEPSLEEP:
if (flag & 1) {//recursive call
int duration = skill_get_time(skillid, skilllv) - 50 * (sstatus->int_ + status_get_lv(bl)); //define here as aruloo as different stats reduction
sc_start2(bl, SC_DEEPSLEEP, skill_area_temp[7], skilllv, 1, duration);
} else {
skill_area_temp[7] = skilllv * 4 + (sd ? pc_checkskill(sd, WM_LESSON) : 10) * 2 + (sd ? sd->status.base_level : 50) / 15 + s_job_level / 5;
flag |= BCT_ALL | 1;
map_delblock(src); //Required to prevent hitting back.
// flag &= ~BCT_SELF; //remove ourself conflict with other mapforeachskill
map_foreachinrange(skill_area_sub, src, skill_get_splash(skillid, skilllv), BL_CHAR,
bl, skillid, skilllv, tick, flag, skill_castend_nodamage_id);
map_addblock(src);
}
break;