diff --git a/game-server/app/services/role/calCe.ts b/game-server/app/services/role/calCe.ts index 50c8a68ef..c29fa170d 100644 --- a/game-server/app/services/role/calCe.ts +++ b/game-server/app/services/role/calCe.ts @@ -159,6 +159,7 @@ export class CalCe { // 职业基础 public setJob(hid: number, job: number, jobStage: number) { + this.data.clearHeroAttrByHid(hid, 'job'); const dicJob = gameData.job.get(job); let ceAttr = dicJob.ceAttr.get(jobStage)||[]; for(let { id, attr } of ceAttr) { diff --git a/shared/pubUtils/dictionary/DicJob.ts b/shared/pubUtils/dictionary/DicJob.ts index 72785f1e8..f594b36ca 100644 --- a/shared/pubUtils/dictionary/DicJob.ts +++ b/shared/pubUtils/dictionary/DicJob.ts @@ -90,7 +90,7 @@ export function loadJob() { function parseCeAttr(maxStage: number, str: string, lastJob: DicJob, job_class: number) { let result = new Map(); - for (let i = 1; i <= maxStage; i++) { + for (let i = 0; i <= maxStage; i++) { if(lastJob && lastJob.job_class == job_class && lastJob.ceAttr && lastJob.ceAttr.has(maxStage)) { let attrs: { id: number, attr: number }[] = []; for(let { id, attr} of lastJob.ceAttr.get(maxStage)||[]) {