diff --git a/src/map/status.cpp b/src/map/status.cpp index 38a3308614..a5ec9337f7 100644 --- a/src/map/status.cpp +++ b/src/map/status.cpp @@ -2929,6 +2929,7 @@ static unsigned int status_calc_maxhpsp_pc(struct map_session_data* sd, unsigned if (isHP) { //Calculates MaxHP double equip_bonus = 0, item_bonus = 0; dmax = job->base_hp[level-1] * (1 + (umax(stat,1) * 0.01)) * ((sd->class_&JOBL_UPPER)?1.25:(pc_is_taekwon_ranker(sd))?3:1); + dmax += sd->indexed_bonus.param_equip[PARAM_VIT]; //Vit from equip gives +1 additional HP dmax += status_get_hpbonus(&sd->bl,STATUS_BONUS_FIX); equip_bonus = (dmax * status_get_hpbonus_equip(sd) / 100); item_bonus = (dmax * status_get_hpbonus_item(&sd->bl) / 100); @@ -2938,6 +2939,7 @@ static unsigned int status_calc_maxhpsp_pc(struct map_session_data* sd, unsigned else { //Calculates MaxSP double equip_bonus = 0, item_bonus = 0; dmax = job->base_sp[level-1] * (1 + (umax(stat,1) * 0.01)) * ((sd->class_&JOBL_UPPER)?1.25:(pc_is_taekwon_ranker(sd))?3:1); + dmax += sd->indexed_bonus.param_equip[PARAM_INT]; //Int from equip gives +1 additional SP dmax += status_get_spbonus(&sd->bl,STATUS_BONUS_FIX); equip_bonus = (dmax * status_get_spbonus_equip(sd) / 100); item_bonus = (dmax * status_get_spbonus_item(&sd->bl) / 100); @@ -3590,17 +3592,17 @@ int status_calc_pc_sub(struct map_session_data* sd, uint8 opt) base_status->int_ += 20; // Bonuses from cards and equipment as well as base stat, remember to avoid overflows. - i = base_status->str + sd->status.str + sd->indexed_bonus.param_bonus[0] + sd->indexed_bonus.param_equip[0]; + i = base_status->str + sd->status.str + sd->indexed_bonus.param_bonus[PARAM_STR] + sd->indexed_bonus.param_equip[PARAM_STR]; base_status->str = cap_value(i,0,USHRT_MAX); - i = base_status->agi + sd->status.agi + sd->indexed_bonus.param_bonus[1] + sd->indexed_bonus.param_equip[1]; + i = base_status->agi + sd->status.agi + sd->indexed_bonus.param_bonus[PARAM_AGI] + sd->indexed_bonus.param_equip[PARAM_AGI]; base_status->agi = cap_value(i,0,USHRT_MAX); - i = base_status->vit + sd->status.vit + sd->indexed_bonus.param_bonus[2] + sd->indexed_bonus.param_equip[2]; + i = base_status->vit + sd->status.vit + sd->indexed_bonus.param_bonus[PARAM_VIT] + sd->indexed_bonus.param_equip[PARAM_VIT]; base_status->vit = cap_value(i,0,USHRT_MAX); - i = base_status->int_+ sd->status.int_+ sd->indexed_bonus.param_bonus[3] + sd->indexed_bonus.param_equip[3]; + i = base_status->int_+ sd->status.int_+ sd->indexed_bonus.param_bonus[PARAM_INT] + sd->indexed_bonus.param_equip[PARAM_INT]; base_status->int_ = cap_value(i,0,USHRT_MAX); - i = base_status->dex + sd->status.dex + sd->indexed_bonus.param_bonus[4] + sd->indexed_bonus.param_equip[4]; + i = base_status->dex + sd->status.dex + sd->indexed_bonus.param_bonus[PARAM_DEX] + sd->indexed_bonus.param_equip[PARAM_DEX]; base_status->dex = cap_value(i,0,USHRT_MAX); - i = base_status->luk + sd->status.luk + sd->indexed_bonus.param_bonus[5] + sd->indexed_bonus.param_equip[5]; + i = base_status->luk + sd->status.luk + sd->indexed_bonus.param_bonus[PARAM_LUK] + sd->indexed_bonus.param_equip[PARAM_LUK]; base_status->luk = cap_value(i,0,USHRT_MAX); i = base_status->pow + sd->status.pow + sd->indexed_bonus.param_bonus[PARAM_POW] + sd->indexed_bonus.param_equip[PARAM_POW]; base_status->pow = cap_value(i, 0, USHRT_MAX);