活动:统计套装宝石相同阶数的任务

This commit is contained in:
qiaoxin
2021-05-08 15:19:08 +08:00
parent 96804c4055
commit 43bca3a5b7
8 changed files with 157 additions and 55 deletions

View File

@@ -4,7 +4,7 @@ import { ItemInter } from "../../../pubUtils/interface";
import { resResult, parseGoodStr, getRandValueByMinMax, getRandEelm } from "../../../pubUtils/util";
import { addItems, handleCost, decreaseItems } from "../../../services/rewardService";
import { EquipModel, EquipType } from "../../../db/Equip";
import Equip, { EquipModel, EquipType } from "../../../db/Equip";
import { HeroModel, EPlace } from "../../../db/Hero";
import Role from "../../../db/Role";
import { calPlayerCeAndSave } from "../../../services/playerCeService";
@@ -15,7 +15,7 @@ import { changeEquip, dressEquip, checkMaterialEnough, takeOffEquipAndCalPlayerC
import { indexOf, findIndex } from 'underscore';
import { pushEquipRefineSucMsg, pushNormalEquipMsg, pushNormalItemMsg } from "../../../services/chatService";
import { checkTaskWithHero, checkTaskWithEquip, checkTask, checkTaskWithArgs } from "../../../services/taskService";
import { checkTaskWithHero, checkTaskWithEquip, checkTask, checkTaskWithArgs, checkTaskConditionEquipSuitJewelStage } from "../../../services/taskService";
import { accomplishTask } from "../../../pubUtils/taskUtil";
export default function (app: Application) {
@@ -509,12 +509,20 @@ export class EquipHandler {
curEquip = await dressEquip(roleId, sid, hero, equip, funcs);
if (!!curEquip)
curEquips.push(curEquip);
//任务
//英雄满装备且都镶嵌相同阶数的宝石
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
if (isTask) {
await accomplishTask(roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
}
} else if (type == 2) {
if (!equip.hid)
return resResult(STATUS.EQUIP_NOT_EQUIPED);
let curEquip = await takeOffEquipAndCalPlayerCe(roleId, sid, hero, equip, id, funcs);
curEquips.push(curEquip);
}
return resResult(STATUS.SUCCESS, { curEquips: curEquips });
}
@@ -581,6 +589,12 @@ export class EquipHandler {
if (!!equip.hid) {
let hero = await HeroModel.findByHidAndRole(equip.hid, roleId);
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.JEWEL_ON, sid, roleId, hero, {}, [jewel, oldJewel]);
//任务
//英雄满装备且都镶嵌相同阶数的宝石
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
if (isTask) {
await accomplishTask(roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
}
}
// 任务
@@ -589,6 +603,7 @@ export class EquipHandler {
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
//成长任务
await accomplishTask(roleId, TASK_TYPE.EQUIP_JEWEL_SUM, 1)
await accomplishTask(roleId, TASK_TYPE.EQUIP_JEWEL_STAGE, 1)
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
}
@@ -753,6 +768,13 @@ export class EquipHandler {
if (!!equip.hid) {
let hero = await HeroModel.findByHidAndRole(equip.hid, roleId);
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.JEWEL_ON, sid, roleId, hero, {}, [jewel, oldJewel]);
//任务
//英雄满装备且都镶嵌相同阶数的宝石
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
if (isTask) {
await accomplishTask(roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
}
}
// 任务
@@ -760,7 +782,7 @@ export class EquipHandler {
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_STAGE, [jewel, oldJewel]);
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
//成长任务
await accomplishTask(roleId, TASK_TYPE.EQUIP_JEWEL_SUM, 1)
await accomplishTask(roleId, TASK_TYPE.EQUIP_JEWEL_SUM, count)
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
} else {