任务:按条件开启任务
This commit is contained in:
@@ -151,6 +151,7 @@ export class HeroHandler {
|
||||
public async lvUp(msg: { hid: number, type: number}, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let { hid, type } = msg;
|
||||
|
||||
@@ -208,7 +209,7 @@ export class HeroHandler {
|
||||
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.LVUP, sid, roleId, hero, update);
|
||||
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_LV, hero);
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_LV, hero);
|
||||
|
||||
const curHero = {
|
||||
hid, lv : hero.lv, exp : hero.exp
|
||||
@@ -221,6 +222,7 @@ export class HeroHandler {
|
||||
public async starUp(msg: { hid: number, star: number, starStage: number}, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let {hid, star, starStage} = msg;
|
||||
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
|
||||
@@ -256,8 +258,8 @@ 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 checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_QUALITY_STAR_UP, hero);
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero);
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_STAR_UP, hero);
|
||||
}
|
||||
|
||||
const curHero = {
|
||||
@@ -276,6 +278,7 @@ export class HeroHandler {
|
||||
let roleName: string = session.get('roleName');
|
||||
let sid: string = session.get('sid');
|
||||
let serverId: string = session.get('serverId');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let {hid, quality} = msg;
|
||||
let dicHero = gameData.hero.get(hid);
|
||||
@@ -310,7 +313,7 @@ export class HeroHandler {
|
||||
await calAllHeroCe(HERO_SYSTEM_TYPE.QUALITY, sid, roleId, {}, [hid, 0]); // 升品可能影响到百家学院全局加成
|
||||
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_QUALITY_UP, hero);
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_UP, hero);
|
||||
|
||||
const curHero = {
|
||||
hid,
|
||||
@@ -327,6 +330,7 @@ export class HeroHandler {
|
||||
let sid: string = session.get('sid');
|
||||
let roleName: string = session.get('roleName');
|
||||
let serverId: string = session.get('serverId');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let {hid, colorStar, colorStarStage} = msg;
|
||||
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
|
||||
@@ -370,8 +374,8 @@ export class HeroHandler {
|
||||
await calAllHeroCe(HERO_SYSTEM_TYPE.COLORSTAR, sid, roleId, {}, [hid, isUpStar?1:0]); // 升星可能影响到百家学院全局加成
|
||||
;
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_STAR_UP, hero);
|
||||
await checkTask(roleId, sid, TASK_TYPE.HERO_WAKE_UP, 1, true, {});
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero);
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_WAKE_UP, 1, true, {});
|
||||
}
|
||||
const curHero = {
|
||||
hid,
|
||||
@@ -389,6 +393,7 @@ export class HeroHandler {
|
||||
async heroJobTrain (msg: {hid:number}, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
let { hid } = msg;
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
|
||||
@@ -415,8 +420,8 @@ export class HeroHandler {
|
||||
jobStage: hero.jobStage + 1
|
||||
});
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_TRAIN, hero);
|
||||
await checkTask(roleId, sid, TASK_TYPE.HERO_TRAIN_SUM, 1, true, {});
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_TRAIN, hero);
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_TRAIN_SUM, 1, true, {});
|
||||
|
||||
return resResult(STATUS.SUCCESS, { curHero: {hid : hero.hid, job : hero.job, jobStage: hero.jobStage}});
|
||||
}
|
||||
@@ -425,6 +430,7 @@ export class HeroHandler {
|
||||
async heroJobStageUp(msg: {hid:number}, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
let { hid } = msg;
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if (!hero)
|
||||
@@ -448,7 +454,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 checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAGE_UP, hero);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { curHero: {hid : hero.hid, job : hero.job, jobStage : hero.jobStage}});
|
||||
}
|
||||
@@ -457,6 +463,7 @@ export class HeroHandler {
|
||||
async heroConectionActivate(msg: { shipId: number }, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
let { shipId } = msg;
|
||||
let shipHidAndLevel = gameData.friendShipHidAandIds.get(shipId);
|
||||
if (!shipHidAndLevel) return resResult(STATUS.HERO_CONECTION_IS_NOT_EXIT);
|
||||
@@ -498,7 +505,7 @@ export class HeroHandler {
|
||||
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.CONNECT, sid, roleId, hero, { connections: heroConnections }, [shipId]);
|
||||
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.HERO_CONNECT, 1, true, { connectLv: level })
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_CONNECT, 1, true, { connectLv: level })
|
||||
return resResult(STATUS.SUCCESS, { curHero: {hid : hero.hid, connections : hero.connections}});
|
||||
}
|
||||
|
||||
@@ -506,6 +513,7 @@ export class HeroHandler {
|
||||
async heroGiveFavor(msg: {hid:number, type: number}, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
let { hid, type } = msg;
|
||||
|
||||
let addLv = 0;
|
||||
@@ -571,7 +579,7 @@ export class HeroHandler {
|
||||
}, [oldLv]);
|
||||
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_FAVOUR_LV, hero);
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_FAVOUR_LV, hero);
|
||||
} else {
|
||||
hero = await HeroModel.updateHeroInfo(roleId, hero.hid, { favour: newExp, favourLv: newLv });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user