From df5174366f1a6afe354698e0747ddede8887a7cb Mon Sep 17 00:00:00 2001 From: luying Date: Fri, 27 Aug 2021 20:34:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=98=E5=8A=9B=EF=BC=9A=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=B8=BA0bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shared/pubUtils/itemUtils.ts | 35 +++++++++++++++++------------------ shared/pubUtils/playerCe.ts | 11 ++++++----- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/shared/pubUtils/itemUtils.ts b/shared/pubUtils/itemUtils.ts index 60ecb36ee..8378c9b10 100644 --- a/shared/pubUtils/itemUtils.ts +++ b/shared/pubUtils/itemUtils.ts @@ -12,7 +12,7 @@ import { RoleModel, RoleType } from '../db/Role'; import { Figure } from '../domain/dbGeneral'; import { getTimeFun, nowSeconds } from './timeUtil'; import { calPlayerCeAndSave, reCalAllHeroCe } from './playerCe'; -import { checkTaskWithEquip } from './taskUtil'; +import { accomplishTask, checkTask, checkTaskWithEquip, checkTaskWithHeroes } from './taskUtil'; // import { checkTask, checkTaskWithHeroes, checkTaskWithEquip, accomplishTask } from './taskUtil'; import { CreateHeroParam } from '../domain/roleField/hero'; import { SkinModel } from '../db/Skin'; @@ -314,15 +314,15 @@ function unlockSingleFigure(dbFigures: Figure[], id: number, unlockDirect = fals return figure } -async function getSkinsOfThisHero(roleId: string, hid: number, initialSkin: number) { +async function getSkinsOfThisHero(roleId: string, roleName: string, hid: number, initialSkin: number) { let allSkins = await SkinModel.findbyRoleAndHid(roleId, hid); + let skin = await increaseSkin(roleId, roleName, initialSkin); + if(skin) allSkins.push(skin); let skins = []; for(let skin of allSkins) { - let index = skins.findIndex(cur => cur.id == skin.id); - if(index == -1) { - skins.push({ id: skin.id, skin: skin._id, enable: skin.id == initialSkin }); - } + skins.push({ id: skin.id, skin: skin._id, enable: skin.id == initialSkin }); } + return skins } @@ -352,10 +352,9 @@ export async function createHeroes(roleId: string, roleName: string, serverId: n let info = { roleId, roleName, serverId, quality, star, job, hName }; - await increaseSkin(roleId, roleName, initialSkin); - let skins = await getSkinsOfThisHero(roleId, heroInfo.hid, initialSkin); + let skins = await getSkinsOfThisHero(roleId, roleName, heroInfo.hid, initialSkin); - let curHero = await HeroModel.createHero(Object.assign(info, heroInfo, skins)); + let curHero = await HeroModel.createHero(Object.assign(info, heroInfo, { skins })); // 计算初始战力 let calHeroResult = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.INIT, roleId, curHero, {}); @@ -369,20 +368,20 @@ export async function createHeroes(roleId: string, roleName: string, serverId: n let role = await RoleModel.incRoleInfo(roleId, { heroNum }, { heroNumUpdatedAt: nowSeconds() }); // 任务 console.log('****** checkTask before', Date.now()) - // let m1 = await checkTask(roleId, TASK_TYPE.HERO_NUM, heroNum, true, {}, funcs); - // let m2 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_QUALITY, heroes, funcs); - // let m3 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, heroes, funcs); - // let m4 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_LV, heroes, funcs); - // let taskPushMessage = m1.concat(m2, m3, m4); + let m1 = await checkTask(roleId, TASK_TYPE.HERO_NUM, heroNum, true, {}, funcs); + let m2 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_QUALITY, heroes, funcs); + let m3 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, heroes, funcs); + let m4 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_LV, heroes, funcs); + let taskPushMessage = m1.concat(m2, m3, m4); console.log('****** checkTask after', Date.now()) //成长任务 console.log('****** accomplishTask before', Date.now()) - // let mm1 = await accomplishTask(serverId, roleId, TASK_TYPE.HERO_NUM, heroNum) - // let mm2 = await accomplishTask(serverId, roleId, TASK_TYPE.HERO_QUALITY, heroNum, { heroes }) + let mm1 = await accomplishTask(serverId, roleId, TASK_TYPE.HERO_NUM, heroNum) + let mm2 = await accomplishTask(serverId, roleId, TASK_TYPE.HERO_QUALITY, heroNum, { heroes }) console.log('****** accomplishTask after', Date.now()) - // let activityTaskPushMessage = mm1.concat(mm2); + let activityTaskPushMessage = mm1.concat(mm2); console.log(funcs); - return { role, figureInfo: combineFigureInfo(figureInfos), heroes, calHeroResults, calAllHeroResult, taskPushMessage:[], activityTaskPushMessage:[] } + return { role, figureInfo: combineFigureInfo(figureInfos), heroes, calHeroResults, calAllHeroResult, taskPushMessage, activityTaskPushMessage } } export function combineFigureInfo(figureInfos: { heads: Figure[], frames: Figure[], spines: Figure[] }[]) { diff --git a/shared/pubUtils/playerCe.ts b/shared/pubUtils/playerCe.ts index 07bf9f3c3..0b1aae7b5 100644 --- a/shared/pubUtils/playerCe.ts +++ b/shared/pubUtils/playerCe.ts @@ -85,11 +85,12 @@ export async function reCalAllHeroCe(type: number, roleId: string, update: RoleU } let { topLineup, topLineupCe } = await calculatetopLineup(role); // 计算更新最强五人战力 - update.attr = roleAttrs; - update.ce = roleCe; - update.topLineup = topLineup; - update.topLineupCe = topLineupCe; - + if(allIncCe != 0) { + update.attr = roleAttrs; + update.ce = roleCe; + update.topLineup = topLineup; + update.topLineupCe = topLineupCe; + } role = await RoleModel.updateRoleInfo(roleId, update); let guild = await GuildModel.updateCe(roleId, allIncCe); // 公会更新战力