任务:修复无效活动任务
This commit is contained in:
@@ -323,6 +323,7 @@ export class EquipHandler {
|
||||
let curEquip = <EquipType>equip;
|
||||
pushEquipRefineSucMsg(roleId, roleName, serverId, curEplace, curEquip ? curEquip.quality : 0);
|
||||
await checkTask(roleId, sid, TASK_TYPE.EQUIP_REFINE, times, true, {});
|
||||
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_REFINE, times);
|
||||
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_REFINE_LV, times, { lv: curEplace.refineLv });
|
||||
return resResult(STATUS.SUCCESS, { curHero });
|
||||
}
|
||||
@@ -743,6 +744,7 @@ export class EquipHandler {
|
||||
let { ePlace, lv } = hero;
|
||||
|
||||
let curEquips: Array<{ seqId: number, hid: number }> = [];
|
||||
let equips: EquipType[] = [];
|
||||
for (let curEPlace of ePlace) {
|
||||
if (!curEPlace.equip) { // 未装备
|
||||
let sortAttrId = equipTypeToSortAttr.get(curEPlace.id);
|
||||
@@ -763,13 +765,23 @@ export class EquipHandler {
|
||||
let { equip } = sortedAndSuitEquips.shift();
|
||||
hero = await HeroModel.addEquip(roleId, hero.hid, equip.ePlaceId, equip._id);
|
||||
equip = await EquipModel.putOnOrOff(equip._id, hero.hid);
|
||||
if (!!equip) curEquips.push(pick(equip, ['seqId', 'hid']));
|
||||
if (!!equip) {
|
||||
curEquips.push(pick(equip, ['seqId', 'hid']));
|
||||
equips.push(equip);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if (curEquips.length > 0) {
|
||||
//任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.EQUIP_BY_HERO, hero, [1]);
|
||||
await checkTask(roleId, sid, TASK_TYPE.EQUIP_SUM, curEquips.length, true, {});
|
||||
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_SUM, curEquips.length);
|
||||
for(let equip of equips) {
|
||||
await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_QUALITY, equip, [1]); // equipA必然是脱,如果hid不为0说明从一个人穿到另一个人,不算任务
|
||||
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_QUALITY, 1, { quality: equip.quality });
|
||||
}
|
||||
//英雄满装备且都镶嵌相同阶数的宝石
|
||||
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
|
||||
if (isTask) {
|
||||
@@ -860,7 +872,7 @@ export class EquipHandler {
|
||||
await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
|
||||
//成长任务
|
||||
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_JEWEL_SUM, 1)
|
||||
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_JEWEL_STAGE, 1)
|
||||
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_JEWEL_STAGE, 1, { stage: jewelInfo.lvLimited })
|
||||
|
||||
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
|
||||
}
|
||||
|
||||
@@ -184,6 +184,7 @@ export class HeroHandler {
|
||||
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 });
|
||||
@@ -317,6 +318,7 @@ export class HeroHandler {
|
||||
;
|
||||
// 任务
|
||||
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 });
|
||||
@@ -475,6 +477,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 serverId: number = session.get('serverId');
|
||||
|
||||
let { hid, type } = msg;
|
||||
|
||||
@@ -542,6 +545,7 @@ export class HeroHandler {
|
||||
|
||||
// 任务
|
||||
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 });
|
||||
} else {
|
||||
hero = await HeroModel.updateHeroInfo(roleId, hero.hid, { favour: newExp, favourLv: newLv });
|
||||
}
|
||||
|
||||
@@ -124,6 +124,7 @@ export class RoleHandler {
|
||||
let { id, count } = msg;
|
||||
let roleId = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let serverId: number = session.get('serverId');
|
||||
|
||||
|
||||
let role = await RoleModel.findByRoleId(roleId, 'roleId teraphs gold coin');
|
||||
@@ -148,6 +149,7 @@ export class RoleHandler {
|
||||
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.ROLE_TERAPH_STRENGTHEN, count, true, {});
|
||||
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.ROLE_TERAPH_STRENGTHEN, count);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { roleId, teraphs: calResult.role.teraphs, criAttr });
|
||||
}
|
||||
@@ -264,7 +266,7 @@ export class RoleHandler {
|
||||
async unlockSchoolPosition(msg: { schoolId: number, positionId: number }, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let sid = session.get('sid');
|
||||
|
||||
let serverId = session.get('serverId');
|
||||
|
||||
let { schoolId, positionId } = msg;
|
||||
if (!gameData.school.has(schoolId)) {
|
||||
@@ -291,6 +293,7 @@ export class RoleHandler {
|
||||
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.ROLE_SCHOOL_UNLOCK, 1, true, {});
|
||||
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.ROLE_SCHOOL_UNLOCK, 1)
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
schoolId, positionId, hid: curSchool.hid, isOpen: curSchool.isOpen
|
||||
@@ -357,7 +360,7 @@ export class RoleHandler {
|
||||
await calAllHeroCe(HERO_SYSTEM_TYPE.SCROLL, sid, roleId, {}, [hid]); // 全局增加战力
|
||||
|
||||
// 任务
|
||||
if (favourLv != hero.favourLv) await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_FAVOUR_LV, hero);
|
||||
if (favourLv != hero.favourLv) await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_FAVOUR_LV, hero, [favourLv]);
|
||||
if (!scrollActive) await checkTask(roleId, sid, TASK_TYPE.ROLE_SCROLL_ACTIVE, 1, true, {});
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
|
||||
Reference in New Issue
Block a user