任务:修改taskType

This commit is contained in:
陆莹
2022-03-18 20:50:11 +08:00
parent 37d2e6cfa7
commit 1c3d1c209c
24 changed files with 821 additions and 2102 deletions
@@ -13,7 +13,7 @@ import { getDropItems, FIGURE_UNLOCK_CONDITION } from '../../../consts/constModu
import { pushComposeOrangeHero, pushHeroQualityUpMsg, pushHeroStarMax, pushHeroWakeUp } from '../../../services/chatService';
import { calculatetopLineup } from '../../../pubUtils/playerCe';
import { PvpDefenseModel } from '../../../db/PvpDefense';
import { checkTaskWithHero, checkTask, checkActivityTask } from '../../../services/task/taskService';
import { checkTask, checkTaskInHeroQUalityUp, checkTaskInHeroStarUp, checkTaskInHeroTrain, checkTaskInHeroWakeUp } from '../../../services/task/taskService';
import { isNumber, pick } from 'underscore';
import { updateEplaces } from '../../../services/equipService';
import { addConsumeToHero } from '../../../services/roleService';
@@ -128,8 +128,7 @@ export class HeroHandler {
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.LVUP, sid, roleId, hero, update);
// 任务
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_LV, hero, [oldLv]);
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_LV, 1, { hid, lv: update.lv });
await checkTask(serverId, roleId, sid, TASK_TYPE.HERO_LV, { oldLv, hero });
const curHero = {
hid, lv: hero.lv, exp: hero.exp
@@ -194,12 +193,7 @@ export class HeroHandler {
if (isUpStar) {
await calAllHeroCe(HERO_SYSTEM_TYPE.STAR, sid, roleId, {}, [hid, isUpStar ? 1 : 0]); // 升星可能影响到百家学院全局加成
// 任务
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_STAR_UP, hero);
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_STAR_UP, 1);
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_QUALITY_STAR_UP, hero);
//成长任务
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, 1, { quality: dicHero.quality, star: hero.star });
await checkTaskInHeroStarUp(serverId, roleId, sid, hero, oldStar);
}
const curHero = {
@@ -254,11 +248,7 @@ export class HeroHandler {
}
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.QUALITY, sid, roleId, hero, update);
await calAllHeroCe(HERO_SYSTEM_TYPE.QUALITY, sid, roleId, {}, [hid, 0]); // 升品可能影响到百家学院全局加成
// 任务
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_QUALITY_UP, hero);
// 任务
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT, 1, { oldQuality: dicHero.quality, quality: hero.quality });
await checkTaskInHeroQUalityUp(serverId, roleId, sid, hero);
const curHero = {
hid,
@@ -330,14 +320,10 @@ export class HeroHandler {
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.COLORSTAR, sid, roleId, hero, update);
if (isUpStar) {
await calAllHeroCe(HERO_SYSTEM_TYPE.COLORSTAR, sid, roleId, {}, [hid, isUpStar ? 1 : 0]); // 升星可能影响到百家学院全局加成
;
// 任务
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_STAR_UP, hero);
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_STAR_UP, 1);
await checkTask(roleId, sid, TASK_TYPE.HERO_WAKE_UP, 1, true, {});
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_QUALITY_WAKE_UP_COUNT, 1, { quality: hero.quality });
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_WAKE_UP_COUNT, 1, { hid: hid });
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT, 1, { quality: dicHero.quality, colorStar: update.colorStar });
await checkTaskInHeroWakeUp(serverId, roleId, sid, hero, oldColorStar);
}
const curHero = {
hid,
@@ -373,6 +359,7 @@ export class HeroHandler {
let newJobStage = hero.jobStage;
let oldJobStage = hero.jobStage, oldJob = hero.job;
let max = isOneClick ? dicJob.maxStage: hero.jobStage + 1;
let trainCount = 0;
let check = new CheckMeterial(roleId);
for(let i = hero.jobStage; i < max; i++) {
let singleConsume = dicJob.trainingConsume[i];
@@ -381,6 +368,7 @@ export class HeroHandler {
let isEnough = await check.decrease([singleConsume]);
if(!isEnough) break; // 消耗不足
newJobStage ++;
trainCount++;
}
if (newJobStage == hero.jobStage) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let consumes = check.getConsume();
@@ -395,11 +383,7 @@ export class HeroHandler {
}
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.TRAIN, sid, roleId, hero, update);
// 任务
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_TRAIN, hero, [oldJob, oldJobStage]);
await checkTask(roleId, sid, TASK_TYPE.HERO_TRAIN_SUM, newJobStage - oldJobStage, true, {});
//活动统计
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_TRAIN_SUM, newJobStage - oldJobStage);
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_TRAIN, newJobStage - oldJobStage, { hid })
await checkTaskInHeroTrain(serverId, roleId, sid, hero, trainCount);
return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, job: hero.job, jobStage: hero.jobStage } });
}
@@ -436,8 +420,7 @@ export class HeroHandler {
}
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.STAGEUP, sid, roleId, hero, update);
// 任务
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_STAGE_UP, hero);
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_STAGE_UP, 1, { job: hero.job });
await checkTask(serverId, roleId, sid, TASK_TYPE.HERO_STAGE_UP, { hero, stageUpCnt: 1 })
return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, job: hero.job, jobStage: hero.jobStage } });
}
@@ -446,6 +429,7 @@ export class HeroHandler {
async heroConectionActivate(msg: { shipId: number }, session: BackendSession) {
let roleId: string = session.get('roleId');
let sid: string = session.get('sid');
let serverId: number = session.get('serverId');
let { shipId } = msg;
let shipHidAndLevel = gameData.friendShipHidAandIds.get(shipId);
@@ -493,7 +477,7 @@ export class HeroHandler {
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.CONNECT, sid, roleId, hero, update, [shipId]);
// 任务
await checkTask(roleId, sid, TASK_TYPE.HERO_CONNECT, 1, true, { connectLv: level })
await checkTask(serverId, roleId, sid, TASK_TYPE.HERO_CONNECT, { connectLv: level })
return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, connections: hero.connections } });
}
@@ -573,8 +557,7 @@ export class HeroHandler {
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.FAVOUR, sid, roleId, hero, update, [oldLv]);
// 任务
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_FAVOUR_LV, hero, [oldLv]);
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_FAVOUR_LV, 1, { lv: newLv, oldLv });
await checkTask(serverId, roleId, sid, TASK_TYPE.HERO_FAVOUR_LV, { hero, oldFavourLv: oldLv });
} else {
hero = await HeroModel.updateHeroInfo(roleId, hero.hid, update);
}
@@ -16,7 +16,7 @@ import { HERO_SYSTEM_TYPE, LINEUP_NUM, ROLE_SELECT, REDIS_KEY, TASK_TYPE, DEFAUL
import { checkBattleHeroesByHid, roleLevelup } from '../../../services/normalBattleService';
import { Rank } from '../../../services/rankService';
import { updateUserInfo } from '../../../services/redisService';
import { checkTaskWithHero, checkTask, checkTaskWithArgs, checkActivityTask } from '../../../services/task/taskService';
import { checkTask, checkTaskWithArgs, checkActivityTask } from '../../../services/task/taskService';
import { getGoldObject, getCoinObject } from '../../../pubUtils/itemUtils';
import { RScriptRecordModel } from '../../../db/RScriptRecord';
import { SkinModel, SkinUpdate } from '../../../db/Skin';
@@ -61,7 +61,6 @@ export class RoleHandler {
infos.set(heroInfo.hid, { heroInfo, skinInfo });
}
await createHero.createWithInitInfo(infos, initInfos.figureInfo);
await createHero.clearTask(await getActivities());
await createHero.pushMessage(sid);
await createHero.updateRedisRank();
let heroes = createHero.getResultHeroes();
@@ -228,7 +228,7 @@ export class ShopHandler {
tasks.push(task);
}
let task = getRandSingleEelm(tasks);
await checkTask(roleId, sid, task.taskType, task.condition, false, { isDebug: true });
// await checkTask(roleId, sid, task.taskType, task.condition, false, { isDebug: true });
return resResult(STATUS.SUCCESS, {
task
});
@@ -332,9 +332,6 @@ export class ShopHandler {
let sid = session.get('sid');
let role = await RoleModel.findByRoleId(roleId);
let server = await ServerlistModel.findByServerId(serverId);
let task = new CheckTask(serverId, roleId, TASK_TYPE.LOGIN_SUM, role.createTime, server.openTime);
task.param.setRole(role);
task.check(1, sid);
return resResult(STATUS.SUCCESS)
}
}