任务:修复看板提出的任务bug

This commit is contained in:
luying
2021-11-02 17:44:34 +08:00
parent eff6e5f738
commit 55638b5ed6
4 changed files with 14 additions and 8 deletions

View File

@@ -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 });
}

View File

@@ -23,6 +23,7 @@ export class TaskParam {
job?: number;
aid?: number;
isDebug?: boolean;
oldCount?: number;
}
export class TaskListReturn {

View File

@@ -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;

View File

@@ -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": "生死之交",