|
@@ -4767,6 +4767,7 @@ int pc_checkbaselevelup(struct map_session_data *sd)
|
|
|
|
|
|
clif_updatestatus(sd,SP_STATUSPOINT);
|
|
|
clif_updatestatus(sd,SP_BASELEVEL);
|
|
|
+ clif_updatestatus(sd,SP_BASEEXP);
|
|
|
clif_updatestatus(sd,SP_NEXTBASEEXP);
|
|
|
status_calc_pc(sd,0);
|
|
|
status_percent_heal(&sd->bl,100,100);
|
|
@@ -4814,6 +4815,7 @@ int pc_checkjoblevelup(struct map_session_data *sd)
|
|
|
} while ((next=pc_nextjobexp(sd)) > 0 && sd->status.job_exp >= next);
|
|
|
|
|
|
clif_updatestatus(sd,SP_JOBLEVEL);
|
|
|
+ clif_updatestatus(sd,SP_JOBEXP);
|
|
|
clif_updatestatus(sd,SP_NEXTJOBEXP);
|
|
|
clif_updatestatus(sd,SP_SKILLPOINT);
|
|
|
status_calc_pc(sd,0);
|
|
@@ -5270,6 +5272,8 @@ int pc_resetlvl(struct map_session_data* sd,int type)
|
|
|
clif_updatestatus(sd,SP_BASELEVEL);
|
|
|
clif_updatestatus(sd,SP_JOBLEVEL);
|
|
|
clif_updatestatus(sd,SP_STATUSPOINT);
|
|
|
+ clif_updatestatus(sd,SP_BASEEXP);
|
|
|
+ clif_updatestatus(sd,SP_JOBEXP);
|
|
|
clif_updatestatus(sd,SP_NEXTBASEEXP);
|
|
|
clif_updatestatus(sd,SP_NEXTJOBEXP);
|
|
|
clif_updatestatus(sd,SP_SKILLPOINT);
|
|
@@ -5945,11 +5949,15 @@ int pc_setparam(struct map_session_data *sd,int type,int val)
|
|
|
}
|
|
|
sd->status.base_level = (unsigned int)val;
|
|
|
sd->status.base_exp = 0;
|
|
|
- clif_updatestatus(sd, SP_BASELEVEL);
|
|
|
+ // clif_updatestatus(sd, SP_BASELEVEL); // Gets updated at the bottom
|
|
|
clif_updatestatus(sd, SP_NEXTBASEEXP);
|
|
|
clif_updatestatus(sd, SP_STATUSPOINT);
|
|
|
clif_updatestatus(sd, SP_BASEEXP);
|
|
|
status_calc_pc(sd, 0);
|
|
|
+ if(sd->status.party_id)
|
|
|
+ {
|
|
|
+ party_send_levelup(sd);
|
|
|
+ }
|
|
|
break;
|
|
|
case SP_JOBLEVEL:
|
|
|
if ((unsigned int)val >= sd->status.job_level) {
|
|
@@ -5959,11 +5967,10 @@ int pc_setparam(struct map_session_data *sd,int type,int val)
|
|
|
}
|
|
|
sd->status.job_level = (unsigned int)val;
|
|
|
sd->status.job_exp = 0;
|
|
|
- clif_updatestatus(sd, SP_JOBLEVEL);
|
|
|
+ // clif_updatestatus(sd, SP_JOBLEVEL); // Gets updated at the bottom
|
|
|
clif_updatestatus(sd, SP_NEXTJOBEXP);
|
|
|
clif_updatestatus(sd, SP_JOBEXP);
|
|
|
status_calc_pc(sd, 0);
|
|
|
- clif_updatestatus(sd,type);
|
|
|
break;
|
|
|
case SP_SKILLPOINT:
|
|
|
sd->status.skill_point = val;
|
|
@@ -6036,6 +6043,9 @@ int pc_setparam(struct map_session_data *sd,int type,int val)
|
|
|
case SP_FAME:
|
|
|
sd->status.fame = val;
|
|
|
break;
|
|
|
+ default:
|
|
|
+ ShowError("pc_setparam: Attempted to set unknown parameter '%d'.\n", type);
|
|
|
+ return 0;
|
|
|
}
|
|
|
clif_updatestatus(sd,type);
|
|
|
|