@@ -2504,7 +2504,8 @@ void pc_bonus(struct map_session_data *sd,int type,int val)
case SP_BASE_ATK:
if(sd->state.lr_flag != 2) {
#ifdef RENEWAL
- sd->bonus.eatk += val;
+ bonus = sd->bonus.eatk + val;
+ sd->bonus.eatk = cap_value(bonus, SHRT_MIN, SHRT_MAX);
#else
bonus = status->batk + val;
status->batk = cap_value(bonus, 0, USHRT_MAX);
@@ -3782,7 +3782,7 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt)
base_status->watk = status_weapon_atk(base_status->rhw, sd);
base_status->watk2 = status_weapon_atk(base_status->lhw, sd);
- base_status->eatk = max(sd->bonus.eatk,0);
+ base_status->eatk = sd->bonus.eatk;
#endif
// ----- HP MAX CALCULATION -----
@@ -2096,13 +2096,13 @@ struct status_data {
hp, sp, // see status_cpy before adding members before hp and sp
max_hp, max_sp;
short
- str, agi, vit, int_, dex, luk;
+ str, agi, vit, int_, dex, luk,
+ eatk;
unsigned short
batk,
watk,
watk2,
- eatk,
matk_min, matk_max,
speed,