任务:修复看板提出的任务bug
This commit is contained in:
@@ -356,6 +356,7 @@ export class HeroHandler {
|
||||
return resResult(STATUS.HERO_JOB_REACH_MAX_STAGE);
|
||||
|
||||
let newJobStage = hero.jobStage;
|
||||
let oldJobStage = hero.jobStage, oldJob = hero.job;
|
||||
let max = isOneClick ? dicJob.maxStage: hero.jobStage + 1;
|
||||
let check = new CheckMeterial(roleId);
|
||||
for(let i = hero.jobStage; i < max; i++) {
|
||||
@@ -377,7 +378,7 @@ export class HeroHandler {
|
||||
jobStage: newJobStage
|
||||
});
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_TRAIN, hero);
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_TRAIN, hero, [oldJob, oldJobStage]);
|
||||
await checkTask(roleId, sid, TASK_TYPE.HERO_TRAIN_SUM, 1, true, {});
|
||||
//活动统计
|
||||
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_TRAIN_SUM, 1)
|
||||
@@ -542,7 +543,7 @@ export class HeroHandler {
|
||||
}, [oldLv]);
|
||||
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_FAVOUR_LV, hero);
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_FAVOUR_LV, hero, [oldLv]);
|
||||
} else {
|
||||
hero = await HeroModel.updateHeroInfo(roleId, hero.hid, { favour: newExp, favourLv: newLv });
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ export class TaskParam {
|
||||
job?: number;
|
||||
aid?: number;
|
||||
isDebug?: boolean;
|
||||
oldCount?: number;
|
||||
}
|
||||
|
||||
export class TaskListReturn {
|
||||
|
||||
@@ -107,8 +107,12 @@ export async function checkTaskWithHero(roleId: string, taskType: number, hero:
|
||||
let dicHero = gameData.hero.get(hero.hid);
|
||||
let initGrage = gameData.job.get(dicHero.jobid).grade;
|
||||
let curGrade = gameData.job.get(hero.job).grade;
|
||||
let oldGrade = gameData.job.get(args[0]).grade;
|
||||
let count = (curGrade - initGrage) * (ABI_STAGE.END - ABI_STAGE.START) + (hero.jobStage - ABI_STAGE.START); // 训练次数
|
||||
pushMessage = await checkTask(roleId, taskType, 1, true, { count });
|
||||
let oldCount = (oldGrade - initGrage) * (ABI_STAGE.END - ABI_STAGE.START) + (args[1] - ABI_STAGE.START);
|
||||
|
||||
console.log('******', oldCount);
|
||||
pushMessage = await checkTask(roleId, taskType, 1, true, { count, oldCount });
|
||||
}
|
||||
else if (taskType == TASK_TYPE.HERO_QUALITY_UP) {
|
||||
let dicHero = gameData.hero.get(hero.hid);
|
||||
@@ -124,7 +128,7 @@ export async function checkTaskWithHero(roleId: string, taskType: number, hero:
|
||||
pushMessage = await checkTask(roleId, taskType, 1, true, { count });
|
||||
}
|
||||
else if (taskType == TASK_TYPE.HERO_FAVOUR_LV) {
|
||||
pushMessage = await checkTask(roleId, taskType, 1, true, { favourLv: hero.favourLv })
|
||||
pushMessage = await checkTask(roleId, taskType, 1, true, { favourLv: hero.favourLv, oldLv: args[0] })
|
||||
}
|
||||
else if (taskType == TASK_TYPE.EQUIP_BY_HERO) {
|
||||
// arg[0] 1:穿上 -1:脱下
|
||||
@@ -357,10 +361,10 @@ export async function checkTaskRec(roleId: string, type: number, group: number,
|
||||
isMatch = param.lv >= taskParam[1] && param.oldLv < taskParam[1];
|
||||
break;
|
||||
case TASK_TYPE.HERO_TRAIN:
|
||||
isMatch = taskParam[1] == param.count;
|
||||
isMatch = param.count >= taskParam[1] && param.oldCount < taskParam[1];
|
||||
break;
|
||||
case TASK_TYPE.HERO_FAVOUR_LV:
|
||||
isMatch = taskParam[1] == param.favourLv;
|
||||
isMatch = param.favourLv >= taskParam[1] && param.oldLv < taskParam[1];
|
||||
break;
|
||||
case TASK_TYPE.HERO_CONNECT:
|
||||
isMatch = taskParam[1] == param.connectLv;
|
||||
|
||||
@@ -942,7 +942,7 @@
|
||||
"subTab": 7,
|
||||
"subTabName": "好感",
|
||||
"taskType": 15,
|
||||
"taskParam": "&",
|
||||
"taskParam": "1&6",
|
||||
"group": 3,
|
||||
"achieveType": 17,
|
||||
"achieveTaskName": "亲密无间",
|
||||
@@ -959,7 +959,7 @@
|
||||
"subTab": 7,
|
||||
"subTabName": "好感",
|
||||
"taskType": 15,
|
||||
"taskParam": "1&6&",
|
||||
"taskParam": "1&12&",
|
||||
"group": 4,
|
||||
"achieveType": 17,
|
||||
"achieveTaskName": "生死之交",
|
||||
|
||||
Reference in New Issue
Block a user