任务:修复无效活动任务

This commit is contained in:
luying
2021-12-29 21:05:47 +08:00
parent 498cf5b66a
commit 26276e4c2b
7 changed files with 60 additions and 10 deletions
@@ -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 } });
}