diff options
Diffstat (limited to 'src/map/pc.c')
-rw-r--r-- | src/map/pc.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 017944942..378c44ab5 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -7231,6 +7231,17 @@ int pc_jobchange(struct map_session_data *sd,int job, int upper) sd->class_ = (unsigned short)b_class; sd->status.job_level=1; sd->status.job_exp=0; + + if (sd->status.base_level > pc_maxbaselv(sd)) { + sd->status.base_level = pc_maxbaselv(sd); + sd->status.base_exp=0; + pc_resetstate(sd); + clif_updatestatus(sd,SP_STATUSPOINT); + clif_updatestatus(sd,SP_BASELEVEL); + clif_updatestatus(sd,SP_BASEEXP); + clif_updatestatus(sd,SP_NEXTBASEEXP); + } + clif_updatestatus(sd,SP_JOBLEVEL); clif_updatestatus(sd,SP_JOBEXP); clif_updatestatus(sd,SP_NEXTJOBEXP); |