summaryrefslogtreecommitdiff
path: root/src/map/pc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/pc.c')
-rw-r--r--src/map/pc.c11
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);